Comments
Description
Transcript
カタログ等資料中の旧社名の扱いについて
お客様各位 カタログ等資料中の旧社名の扱いについて 2010 年 4 月 1 日を以って NEC エレクトロニクス株式会社及び株式会社ルネサステクノロジ が合併し、両社の全ての事業が当社に承継されております。従いまして、本資料中には旧社 名での表記が残っておりますが、当社の資料として有効ですので、ご理解の程宜しくお願い 申し上げます。 ルネサスエレクトロニクス ホームページ(http://www.renesas.com) 2010 年 4 月 1 日 ルネサスエレクトロニクス株式会社 【発行】ルネサスエレクトロニクス株式会社(http://www.renesas.com) 【問い合わせ先】http://japan.renesas.com/inquiry ご注意書き 1. 本資料に記載されている内容は本資料発行時点のものであり、予告なく変更することがあります。当社製品 のご購入およびご使用にあたりましては、事前に当社営業窓口で最新の情報をご確認いただきますとともに、 当社ホームページなどを通じて公開される情報に常にご注意ください。 2. 本資料に記載された当社製品および技術情報の使用に関連し発生した第三者の特許権、著作権その他の知的 財産権の侵害等に関し、当社は、一切その責任を負いません。当社は、本資料に基づき当社または第三者の 特許権、著作権その他の知的財産権を何ら許諾するものではありません。 3. 当社製品を改造、改変、複製等しないでください。 4. 本資料に記載された回路、ソフトウェアおよびこれらに関連する情報は、半導体製品の動作例、応用例を説 明するものです。お客様の機器の設計において、回路、ソフトウェアおよびこれらに関連する情報を使用す る場合には、お客様の責任において行ってください。これらの使用に起因しお客様または第三者に生じた損 害に関し、当社は、一切その責任を負いません。 5. 輸出に際しては、「外国為替及び外国貿易法」その他輸出関連法令を遵守し、かかる法令の定めるところに より必要な手続を行ってください。本資料に記載されている当社製品および技術を大量破壊兵器の開発等の 目的、軍事利用の目的その他軍事用途の目的で使用しないでください。また、当社製品および技術を国内外 の法令および規則により製造・使用・販売を禁止されている機器に使用することができません。 6. 本資料に記載されている情報は、正確を期すため慎重に作成したものですが、誤りがないことを保証するも のではありません。万一、本資料に記載されている情報の誤りに起因する損害がお客様に生じた場合におい ても、当社は、一切その責任を負いません。 7. 当社は、当社製品の品質水準を「標準水準」、 「高品質水準」および「特定水準」に分類しております。また、 各品質水準は、以下に示す用途に製品が使われることを意図しておりますので、当社製品の品質水準をご確 認ください。お客様は、当社の文書による事前の承諾を得ることなく、「特定水準」に分類された用途に当 社製品を使用することができません。また、お客様は、当社の文書による事前の承諾を得ることなく、意図 されていない用途に当社製品を使用することができません。当社の文書による事前の承諾を得ることなく、 「特定水準」に分類された用途または意図されていない用途に当社製品を使用したことによりお客様または 第三者に生じた損害等に関し、当社は、一切その責任を負いません。なお、当社製品のデータ・シート、デ ータ・ブック等の資料で特に品質水準の表示がない場合は、標準水準製品であることを表します。 標準水準: コンピュータ、OA 機器、通信機器、計測機器、AV 機器、家電、工作機械、パーソナル機器、 産業用ロボット 高品質水準: 輸送機器(自動車、電車、船舶等)、交通用信号機器、防災・防犯装置、各種安全装置、生命 維持を目的として設計されていない医療機器(厚生労働省定義の管理医療機器に相当) 特定水準: 航空機器、航空宇宙機器、海底中継機器、原子力制御システム、生命維持のための医療機器(生 命維持装置、人体に埋め込み使用するもの、治療行為(患部切り出し等)を行うもの、その他 直接人命に影響を与えるもの) (厚生労働省定義の高度管理医療機器に相当)またはシステム 等 8. 本資料に記載された当社製品のご使用につき、特に、最大定格、動作電源電圧範囲、放熱特性、実装条件そ の他諸条件につきましては、当社保証範囲内でご使用ください。当社保証範囲を超えて当社製品をご使用さ れた場合の故障および事故につきましては、当社は、一切その責任を負いません。 9. 当社は、当社製品の品質および信頼性の向上に努めておりますが、半導体製品はある確率で故障が発生した り、使用条件によっては誤動作したりする場合があります。また、当社製品は耐放射線設計については行っ ておりません。当社製品の故障または誤動作が生じた場合も、人身事故、火災事故、社会的損害などを生じ させないようお客様の責任において冗長設計、延焼対策設計、誤動作防止設計等の安全設計およびエージン グ処理等、機器またはシステムとしての出荷保証をお願いいたします。特に、マイコンソフトウェアは、単 独での検証は困難なため、お客様が製造された最終の機器・システムとしての安全検証をお願いいたします。 10. 当社製品の環境適合性等、詳細につきましては製品個別に必ず当社営業窓口までお問合せください。ご使用 に際しては、特定の物質の含有・使用を規制する RoHS 指令等、適用される環境関連法令を十分調査のうえ、 かかる法令に適合するようご使用ください。お客様がかかる法令を遵守しないことにより生じた損害に関し て、当社は、一切その責任を負いません。 11. 本資料の全部または一部を当社の文書による事前の承諾を得ることなく転載または複製することを固くお 断りいたします。 12. 本資料に関する詳細についてのお問い合わせその他お気付きの点等がございましたら当社営業窓口までご 照会ください。 注 1. 本資料において使用されている「当社」とは、ルネサスエレクトロニクス株式会社およびルネサスエレク トロニクス株式会社がその総株主の議決権の過半数を直接または間接に保有する会社をいいます。 注 2. 本資料において使用されている「当社製品」とは、注 1 において定義された当社の開発、製造製品をいい ます。 M306H3MC-XXXFP/FCFP SINGLE-CHIP 16-BIT CMOS MICROCOMPUTER with DATA ACQUISITION CONTROLLER RJJ03B0093-0100Z Rev.1.00 2004.03.01 1. 概 要 本製品は、高性能シリコンゲートCMOSプロセスを採用しM16C/62シリーズ CPUコアを登載したシングル チップマイクロコンピュータで、116ピンプラスチックモールドQFPに収められています。このシングルチッ プマイクロコンピュータは、高機能命令を持ちながら高い命令効率を持ち、1 Mバイトのアドレス空間と、 命令を高速に実行する能力を備えています。また、 データスライサを内蔵しており、TELETEXTの放送サー ビスに対応しています。 1.1 特 長 ● メモリ容量 …………………………… ROM 128Kバイト RAM 5Kバイト ● 最短命令実行時間 …………………… 100.0ns(f(XIN)=10MHz時) ● 電源電圧 ……………………………… 4.75V∼5.25V(f(XIN)=10MHz時) 2.60V∼5.25V(f(XCIN)=32kHz, 低消費電力モードのみ) ● 割り込み ……………………………… 内部25要因、外部8要因、ソフトウエア4要因、7レベル (キー入力割り込みを含む) ● 多機能16ビットタイマ ……………… 出力系5本 + 入力系6本 ● シリアルI/O…………………………… 5本(UART/クロック 同期 3本、クロック同期 2本) ● DMAC ………………………………… 2チャネル(スタート条件:24要因) ● A-D 変換器 …………………………… 8ビット×8チャネル(最大10チャネルまで拡張可) ● CRC 演算回路 …………………………1回路 ● 監視タイマ ……………………………1本 ● プログラマブル入出力 ……………… 87本 _______ ● 入力ポート …………………………… 1本(P85、NMI端子と兼用) ● 出力ポート …………………………… 1本(P11、SLICEON端子と兼用) ● チップセレクト出力 …………………4本 ● クロック発生回路 ……………………2回路内蔵 (帰還抵抗内蔵、セラミック共振子、または水晶発振子外付け) ● データスライサ ………………………PDC, VPS, EPG-J, XDS, WSS対応 1.2 応 用 DVDレコーダ、HDDレコーダ Rev.1.00 2004.03.01 page 1 of 311 M306H3MC-XXXFP/FCFP ――― 目 次 ――― 1. 概要 ................................................................. 1 1.1 特長 ........................................................ 1 1.2 応用 ........................................................ 1 1.3 ピン接続図 ............................................ 3 1.4 性能概要 ................................................ 4 1.5 ブロック図 ............................................ 6 2. 機能ブロック動作説明 ............................... 10 2.1 メモリ .................................................. 10 2.2 中央演算処理装置 .............................. 11 2.3 リセット .............................................. 13 2.4 プロセッサモード .............................. 23 2.5 クロック発生回路 .............................. 39 2.6 プロテクト .......................................... 55 2.7 割り込み .............................................. 56 2.8 監視タイマ .......................................... 73 2.9 DMAC .................................................. 75 2.10 タイマ ................................................ 85 2.11 シリアルI/O ..................................... 103 2.12 A-D変換器 ....................................... 152 2.13 CRC演算回路 .................................. 169 2.14 拡張機能 .......................................... 171 2.15 プログラマブル入出力ポート ...... 231 Rev.1.00 2004.03.01 page 2 of 311 3. 電気的特性 ................................................. 243 4. フラッシュメモリ ..................................... 264 4.1 性能概要 ............................................ 264 4.2 メモリ配置 ........................................ 265 4.3 ソフトウエアコマンド .................... 276 5. パッケージ寸法図 ..................................... 291 6. 注意事項 ..................................................... 292 7. M306H3MC-XXXFP/FCFPと M306H2MC-XXXFP/FCFPとの相違点 .... 307 M306H3MC-XXXFP/FCFP 1.3 ピン接続図 図1.3.1にピン接続図(上面図)を示します。 P42/A18 P37/A15 P40/A16 P41/A17 P35/A13 P36/A14 P34/A12 VCC P31/A9 P32/A10 P33/A11 VSS P30/A8(/-/D7) P26/A6(/D6/D5) P27/A7(/D7/D6) P24/A4(/D4/D3) P25/A5(/D5/D4) P21/A1(/D1/D0) P22/A2(/D2/D1) P23/A3(/D3/D2) P17/D15/INT5 P20/A0(/D0/-) P14/D12 P15/D13/INT3 P16/D14/INT4 P12/D10 P13/D11 P11/D9 P10/D8 ピン接続図(上面図) 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 P07/D7 P06/D6 88 58 P43/A19 89 57 P44/CS0 P05/D5 P04/D4 90 56 P45/CS1 91 55 P03/D3 P02/D2 92 54 P46/CS2 P47/CS3 93 53 P50/WRL/WR P01/D1 94 52 P00/D0 P107/AN7/KI3 P106/AN6/KI2 95 51 P51/WRH/BHE P52/RD 96 50 P53/BCLK 97 49 P105/AN5/KI1 P104/AN4/KI0 98 48 P54/HLDA P55/HOLD 99 47 P103/AN3 P102/AN2 P101/AN1 100 46 AV SS 103 43 P62/RXD0/SCL0 P100/AN0 VREF 104 42 105 41 P63/TXD0/SDA0 P64/CTS1/RTS1/CLKS1 AV CC P97/ADTRG/SIN4 106 40 P65/CLK1 107 39 START SYNCIN 108 38 109 37 SVREF TEST2 VDD3 110 36 P66/RXD1/SCL1 P67/TXD1/SDA1 P11/SLICEON M1 111 35 TEST1 112 34 CVIN1 VSS3 113 33 VDD2 LP4 114 32 LP3 115 31 116 30 LP2 VSS2 2004.03.01 page 3 of 311 P71/RXD2/SCL2/TA0 IN/TB5IN(注1) P70/TXD2/SDA2/TA0 OUT(注1) P72/CLK2/TA1 OUT P73/CTS2/RTS2/TA1 IN P75/TA2 IN P74/TA2 OUT P77/TA3 IN P76/TA3 OUT P80/TA4 OUT P81/TA4 IN P84/INT2 P83/INT1 P82/INT0 Vcc P85/NMI 注1.Nチャネルオープンドレイン出力です。 図1.3.1 ピン接続図(上面図) 44 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Vss XIN 8 RESET XOUT 6 P86/XCOUT 7 CNVss 5 P87/XCIN 4 P90/TB0IN/CLK3 BYTE 3 P92/TB2IN/SOUT3 P91/TB1IN/SIN3 2 P93/TB3IN/JSTIN 1 Rev.1.00 45 M306H3MC-XXXFP/FCFP 102 P95/ANEX0/CLK4 P94/TB4IN/RMTIN FSCIN P96/ANEX1/SOUT4 101 P56/ALE P57/RDY/CLKOUT P60/CTS0/RTS0 P61/CLK0 外形 116P6A-A M306H3MC-XXXFP/FCFP 1.4 性能概要 表1.4.1に性能概要を示します。 表1.4.1. 性能概要 項 目 性 能 基本命令数 最短命令実行時間 メモリ容量 ROM RAM 入出力ポート P0∼P10(ただしP85は除く) 入力ポート P85 出力ポート P11 多機能タイマ TA0、TA1、TA2、TA3、TA4 TB0、TB1、TB2、TB3、TB4、TB5 シリアルI/O UART0、UART1、UART2 SI/O3、SI/O4 A-D変換器 DMAC CRC演算回路 監視タイマ 割り込み クロック発生回路 91命令 100ns(f(BCLK)=10MHZ、VCC=4.75∼5.25V) 128Kバイト 5Kバイト 8ビット×10、7ビット×1 _________ 1ビット×1(NMI端子のレベル判定) 1ビット×1 出力系16ビット×5 入力系16ビット×6 (UART、クロック同期形シリアルI/O、I2Cバス(オプショ ン 注1)、IEバス(オプション 注2))×3 クロック同期形シリアルI/O×2 8ビット×(8+2)チャネル 2チャネル(スタート条件:24要因) CRC-CCITT方式 15ビット×1(プリスケーラ付) 内部25要因、外部8要因、ソフトウエア4要因、7レベル 2回路 ・メインクロック発振回路 ・サブクロック発振回路 上記2回路には、帰還抵抗内蔵、セラミック共振子または 水晶発振子外付け(注3) 電源電圧 4.75V∼5.25V (f(XIN)=10MHZ時) 2.60V∼5.25V (f(XCIN)=32KHZ, 低消費電力モードのみ) フラッシュメモリ版 プログラム、イレーズ電圧 5.0±0.25V プログラム、イレーズ回数 100回 動作周囲温度 -20∼70℃ 素子構造 CMOS高性能シリコンゲート パッケージ 116ピンプラスチックモールドQFP データスライサ スライスRAM 864バイト(48×18×8ビット) データスライサ PDC, VPS, EPG-J, XDS, WSS対応 注1. I2C Busは、オランダPHILIPS社の登録商標です。 注2. IE Busは、日本電気(株)の登録商標です。 オプション機能をご使用になる場合には、その旨ご指定ください。 注3. データスライサをご使用になる場合には、水晶発振子を外付けしてください。 Rev.1.00 2004.03.01 page 4 of 311 M306H3MC-XXXFP/FCFP 表1.4.2. 製品一覧表 形 名 M306H3MC-XXXFP ROM容量 128Kバイト RAM容量 パッケージ 116P6A-A 5Kバイト 備 考 マスクROM版 フラッシュメモリ版 M306H3FCFP 形名 M30 6H 3 M C − XXX FP パッケージ種類 FP :外形116P6A-A ROM番号 フラッシュメモリ版では省略されます。 ROM容量 C:128Kバイト メモリの種類 M:マスクROM版 F:フラッシュメモリ版 RAM容量、ピン数の違いなどを示します。 (数値に意味はありません) M16C/6Hグループ M16Cファミリ 図1.4.1 形名とメモリサイズ・パッケージ Rev.1.00 2004.03.01 page 5 of 311 M306H3MC-XXXFP/FCFP 1.5 ブロック図 図1.5.1にブロック図を示します。 8 8 ポートP0 ポートP1 8 8 ポートP2 ポートP5 A-D変換器 (8ビット×8チャネル、 10チャネルまで拡張可) システムクロック発生 XIN-XOUT XCIN-XCOUT スライサ M16C/60シリーズ CPUコア R0L R1L USP ISP INTB RAM 5Kバイト PC FLG 図1.5.1 ブロック図 Rev.1.00 2004.03.01 page 6 of 311 8 乗算器 ポートP10 ポートP11 A0 A1 FB ROM 128Kバイト 8 R2 R3 SB ポートP9 DMAC (2チャネル) R0H R1H メモリ ポートP85 クロック同期形シリアルI/O (8ビット×2チャネル) 7 UARTまたは クロック同期形シリアルI/O (8ビット×3チャネル) CRC演算回路(CCITT方式) (生成多項式:X16+X12+X5+1) 監視タイマ (15ビット) ポートP6 8 出力系(タイマA)5本 入力系(タイマB)6本 ポートP4 8 ポートP8 タイマ(16ビット) 8 ポートP7 周辺機能 ポートP3 8 M306H3MC-XXXFP/FCFP 表1.5.1 端子の機能説明(1) 端子名 名 称 VCC,VSS 電源入力 機 能 VCC端子には、4.75V∼5.25Vを入力してください。VSS端子には、0Vを入力して ください。 CNVSS CNVSS 入力 プロセッサモードを切り替えるための端子です。リセット後、シングルチップ モード(メモリ拡張モード)で動作を開始する場合VSSに、マイクロプロセッサ モードで動作を開始する場合VCCに接続してください。 ____________ RESET リセット入力 入力 この端子に“L”を入力すると、マイクロコンピュータはリセット状態になります。 XIN クロック入力 入力 メインクロック発振回路の入出力端子です。XIN端子とXOUT端子の間にはセラ XOUT クロック出力 出力 ミック共振子、または水晶発振子を接続してください。外部で生成したクロッ クを入力する場合は、XIN端子からクロックを入力し、XOUT端子は開放にして ください。 BYTE 外部データバス 入力 外部データバスを切り替えるための端子です。この端子が“L”の場合16ビット、 切り替え入力 “H”の場合8ビットになります。どちらかに固定してください。シングルチッ プモードでは、VSSに接続してください。 AVCC アナログ電源入力 A-D変換器の電源入力端子です。VCC端子に接続してください。 AVSS アナログ電源入力 A-D変換器の電源入力端子です。VSS端子に接続してください。 VREF 基準電圧入力 入力 A-D変換器の基準電圧入力端子です。 P00∼P07 入出力ポートP0 入出力 CMOSの8ビット入出力ポートです。入出力を選択するための方向レジスタを持 ち、1端子ごとに入力ポート、または出力ポートにできます。 入力ポートは、プログラムで4ビット単位でプルアップ抵抗の有無を選択できます。 メモリ拡張モード、マイクロプロセッサモードでは、プルアップ抵抗を選択で きません。 プログラムで選択することによってA-D変換器の入力端子として機能します。 D0∼D7 入出力 セパレートバス設定時データ(D0∼D7)の入出力を行います。 P1 0∼P1 7 入出力ポートP1 入出力 P0と同等の機能を持つ8ビット入出力ポートです。P15∼P17はソフトウェアで選 ______ 択することによって、INT割り込み入力端子として機能します。 D8∼D15 入出力 セパレートバス設定時データ(D8∼D15)の入出力を行います。 P20∼P27 入出力ポートP2 入出力 P0と同等の機能を持つ8ビット入出力ポートです。プログラムで選択することに よってA-D変換器の入力端子として機能します。 A0∼A7 出力 アドレスの下位8ビット(A0∼A7)の出力を行います。 A0/D0∼ 入出力 外部データバスが8ビットでマルチプレクスバス設定時、データ(D0∼D7)の入出 A7/D7 力と、アドレスの下位8ビット(A0∼A7)の出力を時分割で行います。 A0 出力 外部データバスが16ビットでマルチプレクスバス設定時、データ(D0∼D6)の入 A1/D0∼ 入出力 出力と、アドレス(A1∼A7)の出力を時分割で行います。また、アドレス(A0)の出 A7/D6 力を行います。 P30∼P37 入出力ポートP3 入出力 P0と同等の機能を持つ8ビット入出力ポートです。 A8∼A15 出力 アドレスの中位8ビット(A8∼A15)の出力を行います。 A8/D7、 入出力 外部データバスが16ビットでマルチプレクスバス設定時、データ(D7)の入出力 A9∼A15 出力 と、アドレス(A8)の出力を時分割で行います。また、アドレス(A9∼A15)の出力 を行います。 P40∼P47 入出力ポートP4 入出力 P0と同等の機能を持つ8ビット入出力ポートです。 ______ ______ A16∼A19、 出力 A16∼A19、CS0∼CS3信号を出力します。A16∼A19はアドレスの上位4ビットで ______ ______ ______ ______ CS0∼CS3 出力 す。CS0∼CS3はチップセレクト信号でアクセス空間の指定に使用します。 Rev.1.00 2004.03.01 page 7 of 311 入出力 M306H3MC-XXXFP/FCFP 表1.5.2 端子の機能説明(2) 端子名 P50∼P57 名 称 入出力ポートP5 ________ ______ WRL/WR、 _________ ________ WRH/BHE、 ______ RD、 BCLK、 ___________ HLDA、 ___________ HOLD、 ALE、 _________ RDY P60∼P67 P70∼P77 入出力ポートP6 入出力ポートP7 P80∼P84、 P86、 P87、 P85 入出力ポートP8 P90∼P97 入出力ポートP9 P100∼P107 入出力ポートP10 P11 出力ポート Rev.1.00 入力ポートP85 2004.03.01 page 8 of 311 入出力 入出力 機 能 P0と同等の機能を持つ8ビット入出力ポートです。シングルチップモード時、プロ グラムで選択することによって、P57からXINの8分周、32分周または、XCINと同じ 周期をもつクロックを出力します。 _________ _________ ______ _________ ______ ___________ 出力 WRL、WRH、(WR、BHE)、RD、BCLK、HLDA、ALE信号を出力します。プログラム _________ _________ _________ ______ 出力 でWRL、WRHまたはBHE、WRを切り替えられます。 _________ _________ ______ 出力 ■WRL、WRH、RD選択時 _________ __________ 出力 外部データバスが16ビットの場合、WRL信号が“L”のときは偶数番地に、WRH ______ 出力 信号が“L ”のときは奇数番地に書きます。RD信号が“L”のとき読み出します。 ______ _________ ______ 入力 ■WR、BHE、RD選択時 ______ ______ 出力 WR信号が“L ”のとき書き込みます。RD信号が“L”のとき、読み出します。 _________ 入力 BHE信号が“L ”のとき、奇数番地をアクセスします。外部データバスが8ビット のときは、このモードを使用してください。 ____________ HOLD端子への入力が“L”の期間、マイクロコンピュータはホールド状態にな ____________ ります。ホールド状態の期間、HLDAは“L”を出力します。ALEはアドレスをラッ _________ チするための信号です。RDY端子の入力レベルが“L”の期間、マイクロコンピュー タのバスはウエイト状態になります。 入出力 P0と同等の機能を持つ8ビット入出力ポートです。プログラムで選択することに よって、UART0、UART1の入出力端子として機能します。 入出力 P0と同等の機能を持つ8ビット入出力ポートです(ただし、P70、P71はNチャネル オープンドレイン出力)。プログラムで選択することによって、タイマA0∼A3、 の入出力端子として機能します。また、P70∼P75はUART2の入出力端子、P71は タイマB5の入力端子として機能します。 入出力 P80∼P84、P86、P87はP0と同等の機能を持つ入出力ポートです。プログラムで選 ______ 入出力 択することによって、P80∼P81はタイマA4の入出力端子として、P82∼P84は、INT 入出力 割り込みの入力端子として機能します。P86、P87はプログラムで選択すること 入力 によってサブクロック発振回路の入出力端子として機能します。この場合、P86 (XCOUT端子)とP87(XCIN端子)の間には水晶発振子を接続してください。 ________ P85はNMIと共用の入力専用のポートです。この端子の入力が“H”から“L” ________ ________ に変化したときNMI割り込み要求が発生します。NMIの機能はプログラムで解 除できません。この端子は、プルアップ抵抗は設定できません。 入出力 P0と同等の機能を持つ8ビット入出力ポートです。プログラムで選択することに よって、SI/O3、SI/O4の入出力端子、タイマB0∼B4の入力端子、A-D変換器の 入力端子、A-Dトリガ入力端子、リモコン用の入力端子として機能します。 入出力 P0と同等の機能を持つ8ビット入出力ポートです。プログラムで選択することに よってA-D変換器の入力端子として機能します。また、P104∼P107はキー入力割 り込み機能の入力端子としても機能します。 出力 1ビット出力ポートです。プログラムで選択することによってSLICEON信号の出 力端子として機能します。 M306H3MC-XXXFP/FCFP 表1.5.3 端子の機能説明 端子名 V DD 2,V SS 2 V DD 3,V SS 3 SVREF 入出力 入力 機 能 アナログ系の電源入力端子です。VDD2端子には、4.75V∼5.25Vを入力してくだ さい。VSS2端子には、0Vを入力してください。 アナログ系の電源入力端子です。VDD3端子には、4.75V∼5.25Vを入力してくだ さい。VSS3端子には、0Vを入力してください。 同期信号をスライスする際のスライス電位を入力します。 CVIN1 名 称 アナログ電源入力 アナログ電源入力 同期スライス レベル入力 複合ビデオ入力1 入力 SYNCIN 複合ビデオ入力2 入力 START 発振選択入力 LP2 LP3 LP4 FSCIN フィルタ出力1 フィルタ出力2 フィルタ出力3 同期信号発生用fsc 入力端子 モード選択入力 (M1入力) 入力 出力 出力 出力 入力 外部の複合ビデオ信号の入力端子です。この信号を内部でデータスライスしま す。 外部の複合ビデオ信号の入力端子です。 この信号を内部で同期分離します。 RESET時の発振回路を選択します。この端子に“H”を入力するとXIN-XOUT、 “L”を入力するとXCIN-XCOUTが選択されます。 フィルタ出力1(fsc用)です。 フィルタ出力2(VPS用)です。 フィルタ出力3(PDC用)です。 同期信号発生用のサブキャリア(fsc)入力端子です。 M1 TEST1 TEST2 Rev.1.00 テスト入力 テスト入力 2004.03.01 page 9 of 311 入力 入力 入力 フラッシュメモリ版ではマイクロプロセッサ及びメモリ拡張モードで使用する場 合は、VCC端子に接続してください。標準シリアルモード(シングルチップモー ド)を使用する場合は、VSS端子に接続してください。 マスクROM版では、VSS端子又はVCC端子に接続してください。 テスト用端子です。コンデンサを接続してください。 テスト用端子です。VSSに接続してください。 M306H3MC-XXXFP/FCFP 2. 機能ブロック動作説明 2.1 メモリ 図2.1.1にメモリ配置を示します。アドレス空間は0000016番地からFFFFF16番地までの1Mバイトあります。 内部ROMはFFFFF16番地から下位方向に配置されます。本製品では、E000016番地からFFFFF16番地に 配置されます。 固定割り込みベクタテーブルはFFFDC16番地からFFFFF16番地に配置されます。ここに割り込みルーチ ンの先頭番地を格納します。 内部RAMは0040016番地から上位方向に配置されます。本製品では、0040016番地から017FF16番地に配 置されます。内部RAMはデータ格納以外に、サブルーチン呼び出しや、割り込み時のスタックとしても 使用します。 SFRは、0000016番地から003FF16番地に配置されています。ここには、周辺機能の制御レジスタが配置 されています。SFRのうち何も配置されていない領域はすべて予約領域のため、ユーザは使用できません。 スペシャルページベクタテーブルはFFE0016番地からFFFDB16番地に配置されています。このベクタは JMPS命令またはJSRS命令で使用します。詳細は「M16C/60、M16C/20シリーズソフトウエアマニュアル」 を参照してください。 メモリ拡張モードまたはマイクロプロセッサモードでは、一部の領域は予約領域となり使用できません。 0000016 SFR領域 0040016 内部RAM FFE0016 017FF16 スペシャルページ ベクタテーブル 予約領域(注1) 1000016 2700016 外部領域 FFFDC16 予約領域 2800016 外部領域 8000016 シングルステップ 監視タイマ DBC 予約領域(注2) E000016 内部ROM FFFFF16 未定義命令 オーバフロー BRK命令 アドレス一致 FFFFF16 NMI リセット 注1. メモリ拡張モード時またはマイクロプロセッサモード時 注2. メモリ拡張モード時 図2.1.1. メモリ配置図 Rev.1.00 2004.03.01 page 10 of 311 M306H3MC-XXXFP/FCFP 2.2 中央演算処理装置 図2.2.1にCPUのレジスタを示します。CPUには13個のレジスタがあります。これらのうち、R0、R1、 R2、R3、A0、A1、FBはレジスタバンクを構成しています。レジスタバンクは2セットあります。 b31 b15 b8 b7 R2 R0H(R0の上位) R3 R1H(R1の上位) b0 R0L(R0の下位) R1L(R1の下位) データレジスタ(注) R2 R3 A0 アドレスレジスタ(注) A1 FB b19 b15 フレームベースレジスタ(注) b0 INTBH INTBL 割り込みテーブルレジスタ INTBHはINTBの上位4ビット、INTBLは INTBの下位16ビットです。 b19 b0 PC プログラムカウンタ b15 b0 USP ユーザスタックポインタ ISP 割り込みスタックポインタ SB スタティックベースレジスタ b15 b0 フラグレジスタ FLG b15 b8 IPL b7 b0 U I O B S Z D C キャリーフラグ デバッグフラグ ゼロフラグ サインフラグ レジスタバンク指定フラグ オーバフローフラグ 割り込み許可フラグ スタックポインタ指定フラグ 予約領域 プロセッサ割り込み優先レベル 予約領域 注1. これらのレジスタは、レジスタバンクを構成しています。 レジスタバンクは2セットあります。 図2.2.1. CPUのレジスタ (1) データレジスタ(R0、R1、R2、R3) R0は16ビットで構成されており、主に転送や算術、論理演算に使用します。R1∼R3はR0と同様です。 R0は、上位(R0H)と下位(R0L)を別々に8ビットのデータレジスタとして使用できます。R1H、R1LはR0H、 R0Lと同様です。R2とR0を組合せて32ビットのデータレジスタ(R2R0)として使用できます。R3R1はR2R0 と同様です。 (2) アドレスレジスタ(A0、A1) A0は16ビットで構成されており、アドレスレジスタ間接アドレッシング、アドレスレジスタ相対アド レッシングに使用します。また、転送や算術、論理演算に使用します。A1はA0と同様です。 A1とA0を組合せて32ビットのアドレスレジスタ(A1A0)として使用できます。 Rev.1.00 2004.03.01 page 11 of 311 M306H3MC-XXXFP/FCFP (3) フレームベースレジスタ(FB) FBは16ビットで構成されており、FB相対アドレッシングに使用します。 (4) 割り込みテーブルレジスタ(INTB) INTBは20ビットで構成されており、可変割り込みベクタテーブルの先頭番地を示します。 (5) プログラムカウンタ(PC) PCは20ビットで構成されており、次に実行する命令の番地を示します。 (6) ユーザスタックポインタ(USP)、割り込みスタックポインタ(ISP) スタックポインタ(SP)は、USPとISPの2種類あり、共に16ビットで構成されています。 USPとISPはFLGのUフラグで切り替えられます。 (7) スタティックベースレジスタ(SB) SBは16ビットで構成されており、SB相対アドレッシングに使用します。 (8) フラグレジスタ(FLG) FLGは11ビットで構成されており、CPUの状態を示します。 ●キャリーフラグ(Cフラグ) 算術論理ユニットで発生したキャリー、ボロー、シフトアウトしたビット等を保持します。 ●デバッグフラグ(Dフラグ) Dフラグはデバッグ専用です。“0”にしてください。 ●ゼロフラグ(Zフラグ) 演算の結果が0のとき“1”になり、それ以外のとき“0”になります。 ●サインフラグ(Sフラグ) 演算の結果が負のとき“1”になり、それ以外のとき“0”になります。 ●レジスタバンク指定フラグ(Bフラグ) Bフラグが“0”の場合、レジスタバンク0が指定され、“1”の場合、レジスタバンク1が指定され ます。 ●オーバフローフラグ(Oフラグ) 演算の結果がオーバフローしたときに“1”になります。それ以外では“0”になります。 ●割り込み許可フラグ(Iフラグ) マスカブル割り込みを許可するフラグです。 Iフラグが“0”の場合、マスカブル割り込みは禁止され、“1”の場合、許可されます。 割り込み要求を受け付けると、Iフラグは“0”になります。 ●スタックポインタ指定フラグ(Uフラグ) Uフラグが“0”の場合、ISPが指定され、“1”の場合、USPが指定されます。 ハードウエア割り込み要求を受け付けたとき、またはソフトウエア割り込み番号0∼31のINT命令を 実行したとき、Uフラグは“0”になります。 ●プロセッサ割り込み優先レベル(IPL) IPLは3ビットで構成されており、レベル0∼7までの8段階のプロセッサ割り込み優先レベルを指定 します。 要求があった割り込みの優先レベルが、IPLより大きい場合、その割り込み要求は許可されます。 ●予約領域 書く場合、“0”を書いてください。読んだ場合、その値は不定。 Rev.1.00 2004.03.01 page 12 of 311 M306H3MC-XXXFP/FCFP 2.3 リセット リセットには、ハードウエアリセット、ソフトウエアリセット、監視タイマリセットがあります。 2.3.1 ハードウエアリセット _____________ _____________ RESET端子によるリセットです。電源電圧が推奨動作条件を満たすとき、RESET端子に“L”を入力 _____________ すると端子は初期化されます(表2.3.1を参照)。RESET端子の入力レベルを“L”から“H”にするとCPU とSFRが初期化され、リセットベクタで示される番地からプログラムを実行します。内部RAMは初期化 _____________ されません。また、内部RAMに書き込み中にRESET端子が“L”になると、内部RAMは不定となります。 _____________ 図2.3.1にリセット回路の一例を、図2.3.2にリセットシーケンスを、表2.3.1にRESET端子のレベルが“L” の期間の端子の状態を、図2.3.3にリセット後のCPUレジスタの状態を示します。リセット後のSFRの状 態は「SFR」を参照してください。 1. 電源が安定している場合 _____________ (1)RESET端子に“L”を入力する (2)XIN端子に20サイクル以上のクロックを入力する _____________ (3)RESET端子に“H”を入力する 2. 電源投入時 _____________ (1)RESET端子に“L”を入力する (2)電源電圧を推奨動作条件を満たすレベルまで上昇させる (3)内部電源が安定するまでtd(P-R)待つ (4)XIN端子に20サイクル以上のクロックを入力する _____________ (5)RESET端子に“H”を入力する Rev.1.00 2004.03.01 page 13 of 311 M306H3MC-XXXFP/FCFP 2.3.2 ソフトウエアリセット PM0レジスタのPM03ビットを“1”(マイクロコンピュータをリセット)にするとマイクロコンピュータ は端子、CPU、SFRを初期化します。その後、リセットベクタで示される番地からプログラムを実行し ます。 CPUクロック源にメインクロックを選択し、メインクロックの発振が十分安定している状態で、PM03 ビットを“1”にしてください。 ソフトウエアリセットでは、一部のSFRが初期化されません。詳細は「SFR」を参照してください。ま た、PM0レジスタのPM01∼PM00ビットを初期化しないため、プロセッサモードは変化しません。 推奨動作電圧 VCC 0V RESET VCC RESET 0.2VCC 以下 0.2VCC 以下 0V td(P-R)+X IN端子に20サイクル以上のクロック 図2.3.1. リセット回路の一例 2.3.3 監視タイマリセット PM1レジスタのPM12ビットが“1”(監視タイマアンダフロー時リセット)の場合、監視タイマがアンダ フローするとマイクロコンピュータは端子、CPU、SFRを初期化します。その後、リセットベクタで示 される番地からプログラムを実行します。 監視タイマリセットでは、一部のSFRが初期化されません。詳細は「SFR」を参照してください。また、 PM0レジスタのPM01∼PM00ビットを初期化しないため、プロセッサモードは変化しません。 Rev.1.00 2004.03.01 page 14 of 311 M306H3MC-XXXFP/FCFP VCC XIN マイクロプロセッサ モード BYTE=“H” td(P-R) 20サイクル 以上必要 RESET BCLK 28サイクル BCLK FFFFC16番地 アドレス FFFFD16番地 FFFFE16番地 RD WR CS0 マイクロプロセッサ モード BYTE=“L” FFFFC16番地 アドレス FFFFE16番地 RD WR CS0 シングルチップ モード FFFFC16番地 FFFFE16番地 アドレス 図2.3.2. リセットシーケンス Rev.1.00 2004.03.01 リセットベクタの内容 page 15 of 311 リセットベクタの内容 リセットベクタの内容 M306H3MC-XXXFP/FCFP ____________ 表2.3.1. RESET端子のレベルが“L”の期間の端子の状態 端子の状態 端子名 CNVSS = VCC(注1) CNVSS = VSS BYTE = VSS BYTE = VCC P0 入力ポート データ入力 データ入力 P1 入力ポート データ入力 入力ポート P2, P3, P40∼P43 入力ポート アドレス出力(不定) アドレス出力(不定) P44 入力ポート CS0出力(“H”を出力) CS0出力(“H”を出力) P45∼P47 入力ポート 入力ポート(プルアップあり) 入力ポート(プルアップあり) P50 入力ポート WR出力(“H”を出力) WR出力(“H”を出力) P51 入力ポート BHE出力(不定) BHE出力(不定) P52 入力ポート RD出力(“H”を出力) RD出力(“H”を出力) P53 入力ポート BCLK出力 BCLK出力 P54 入力ポート HLDA出力(出力値はHOLD端子 の入力に依存) HLDA出力(出力値はHOLD端子 の入力に依存) P55 入力ポート HOLD入力 HOLD入力 P56 入力ポート ALE出力(“L”を出力) ALE出力(“L”を出力) P57 入力ポート RDY入力 RDY入力 P6, P7, P80∼P84, P86, P87, P9, P10 入力ポート 入力ポート 入力ポート P11 出力ポート 出力ポート 出力ポート 注1.フラッシュメモリ版では、M1=VCCを設定してください。この時は電源投入後、内部電源電圧が安定してからの状態です。 内部電源電圧が安定するまでは不定です。 b15 b0 000016 データレジスタ(R0) 000016 データレジスタ(R1) 000016 データレジスタ(R2) 000016 データレジスタ(R3) 000016 000016 アドレスレジスタ(A0) アドレスレジスタ(A1) 000016 フレームベースレジスタ(FB) b19 b0 0000016 割り込みテーブルレジスタ(INTB) FFFFE16∼FFFFC16番地の内容 b15 プログラムカウンタ(PC) b0 000016 ユーザスタックポインタ(USP) 000016 割り込みスタックポインタ(ISP) 000016 スタティックベースレジスタ(SB) b15 b0 フラグレジスタ(FLG) 000016 b15 b8 IPL b7 U I O B S Z D C 図2.3.3. リセット後のCPUレジスタの状態 Rev.1.00 2004.03.01 page 16 of 311 b0 M306H3MC-XXXFP/FCFP 2.3.4 SFR 番地 レジスタ シンボル リセット後の値 000016 000116 000216 000316 000416 プロセッサモードレジスタ0 000516 プロセッサモードレジスタ1 システムクロック制御レジスタ0 システムクロック制御レジスタ1 チップセレクト制御レジスタ アドレス一致割り込み許可レジスタ プロテクトレジスタ PM1 CM0 CM1 CSR AIER PRCR 監視タイマスタートレジスタ 監視タイマ制御レジスタ アドレス一致割り込みレジスタ0 WDTS WDC RMAD0 XX16 00XXXXXX2(注3) 0016 0016 X016 アドレス一致割り込みレジスタ1 RMAD1 0016 0016 X016 チップセレクト拡張制御レジスタ CSE 0016 プロセッサモードレジスタ2 PM2 XXX000002 DMA0ソ−スポインタ SAR0 XX16 XX16 XX16 DMA0ディスティネ−ションポインタ DAR0 XX16 XX16 XX16 DMA0転送カウンタ TCR0 XX16 XX16 DMA0制御レジスタ DM0CON 00000X002 DMA1ソ−スポインタ SAR1 XX16 XX16 XX16 DMA1ディスティネ−ションポインタ DAR1 XX16 XX16 XX16 DMA1転送カウンタ TCR1 XX16 XX16 DMA1制御レジスタ DM1CON 00000X002 000616 000716 000816 000916 000A16 000B16 (注2) PM0 000000002(CNVSS端子が“L”) 000000112(CNVSS端子が“H”(注5)) 000010002 010010002(START端子が“H”(注4)) 001000002 000000012 XXXXXX002 XX0000002 000C16 000D16 000E16 000F16 001016 001116 001216 001316 001416 001516 001616 001716 001816 001916 001A16 001B16 001C16 001D16 001E16 001F 16 002016 002116 002216 002316 002416 002516 002616 002716 002816 002916 002A16 002B16 002C16 002D16 002E16 002F16 003016 003116 003216 003316 003416 003516 003616 003716 003816 003916 003A16 003B16 003C16 003D16 003E16 003F16 注1. 空欄は予約領域です。アクセスしないでください。 注2. PM00、PM01ビットはソフトウエアリセット、監視タイマリセット時は変化しません。 注3. WDC5ビットは電源投入後“0”(コールドスタート)です。プログラムでのみ“1”にできます。 注4. START端子が“L”のとき、011110002になります。 注5. フラッシュメモリ版ではCNVSS端子、及びM1端子が“H”の場合。 X:不定です。 Rev.1.00 2004.03.01 page 17 of 311 M306H3MC-XXXFP/FCFP 番地 レジスタ シンボル リセット後の値 INT3IC TB5IC XX00X0002 XXXXX0002 XXXXX0002 XXXXX0002 XX00X0002 XX00X0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XX00X0002 XX00X0002 XX00X0002 004016 004116 004216 004316 004416 004516 004616 004716 004816 004916 004A16 004B16 004C16 004D16 004E16 004F16 005016 005116 005216 005316 005416 005516 005616 005716 005816 005916 005A16 005B16 005C16 005D16 005E16 005F16 INT3割り込み制御レジスタ タイマB5/SLICE ON割り込み制御レジスタ タイマB4/リモコン割り込み制御レジスタ、UART1バス衝突検出割り込み制御レジスタ TB4IC、U1BCNIC タイマB3/HINT割り込み制御レジスタ、UART0バス衝突検出割り込み制御レジスタ TB3IC、U0BCNIC SI/O4割り込み制御レジスタ、INT5割り込み制御レジスタ SI/O3割り込み制御レジスタ、INT4割り込み制御レジスタ UART2バス衝突検出割り込み制御レジスタ DMA0割り込み制御レジスタ DMA1割り込み制御レジスタ キ−入力割り込み制御レジスタ A-D変換割り込み制御レジスタ UART2送信割り込み制御レジスタ UART2受信割り込み制御レジスタ UART0送信割り込み制御レジスタ UART0受信割り込み制御レジスタ UART1送信割り込み制御レジスタ UART1受信割り込み制御レジスタ タイマA0割り込み制御レジスタ タイマA1割り込み制御レジスタ タイマA2割り込み制御レジスタ タイマA3割り込み制御レジスタ タイマA4割り込み制御レジスタ タイマB0割り込み制御レジスタ タイマB1割り込み制御レジスタ タイマB2割り込み制御レジスタ INT0割り込み制御レジスタ INT1割り込み制御レジスタ INT2割り込み制御レジスタ 006016 006116 006216 006316 006416 006516 006616 006716 006816 006916 006A16 006B16 006C16 006D16 006E16 006F16 007016 007116 007216 007316 007416 007516 007616 007716 007816 007916 007A16 007B16 007C16 007D16 007E16 007F16 注1. 空欄は予約領域です。アクセスしないでください。 X:不定です。 Rev.1.00 2004.03.01 page 18 of 311 S4IC、INT5IC S3IC、INT4IC BCNIC DM0IC DM1IC KUPIC ADIC S2TIC S2RIC S0TIC S0RIC S1TIC S1RIC TA0IC TA1IC TA2IC TA3IC TA4IC TB0IC TB1IC TB2IC INT0IC INT1IC INT2IC M306H3MC-XXXFP/FCFP 番地 レジスタ シンボル リセット後の値 008016 008116 008216 008316 008416 008516 008616 ∼ ∼ ∼ ∼ 01B016 01B116 01B216 01B316 01B416 01B516 フラッシュメモリ制御レジスタ1(注2) FMR1 0X00XX0X2 フラッシュメモリ制御レジスタ0 (注2) アドレス一致割り込みレジスタ2 FMR0 RMAD2 アドレス一致割り込み許可レジスタ2 アドレス一致割り込みレジスタ3 AIER2 RMAD3 XX0000012 0016 0016 X016 XXXXXX002 0016 0016 X016 01B616 01B716 01B816 01B916 01BA16 01BB16 01BC16 01BD16 01BE16 01BF16 ∼ ∼ ∼ ∼ 020E 16 020F 16 0210 16 0211 16 スライスRAMアドレス制御レジスタ SA 0016 スライスRAMデータ制御レジスタ SD 0016 0212 16 0213 16 CRCレジスタ用アドレス制御レジスタ CA 0016 0214 16 0215 16 CRCレジスタ用データ制御レジスタ CD 0016 0216 16 0217 16 拡張レジスタ用アドレス制御レジスタ DA 0016 0218 16 0219 16 拡張レジスタ用データ制御レジスタ DD 0016 021A 16 021B 16 ハミング8/4レジスタ HM8 0016 021C16 021D16 021E 16 021F 16 ハミング24/18レジスタ0 HM0 0016 ハミング24/18レジスタ1 HM1 0016 025016 ∼ ∼ ∼ ∼ 025916 025A16 025B16 025C16 025D16 025E16 周辺クロック選択レジスタ PCLKR 000000112 025F16 ∼ ∼ ∼ ∼ 033016 033116 033216 033316 033416 033516 033616 033716 033816 033916 033A16 033B16 033C16 033D16 033E16 033F16 注1. 空欄は予約領域です。アクセスしないでください。 注2. このレジスタはフラッシュメモリ版にあります。 X:不定です。 Rev.1.00 2004.03.01 page 19 of 311 M306H3MC-XXXFP/FCFP 番地 034016 レジスタ タイマB3,4,5カウント開始フラグ シンボル TBSR リセット後の値 000XXXXX2 034116 034216 ∼ ∼ ∼ ∼ 034B16 034C16 034D16 034E16 034F16 035016 タイマB3レジスタ TB3 タイマB4レジスタ TB4 タイマB5レジスタ TB5 タイマB3モードレジスタ タイマB4モードレジスタ タイマB5モードレジスタ 割り込み要因選択レジスタ2 割り込み要因選択レジスタ SI/O3送受信レジスタ TB3MR TB4MR TB5MR IFSR2A IFSR S3TRR 00XX00002 00XX00002 00XX00002 00XXXXXX2 0016 XX16 SI/O3制御レジスタ SI/O3転送速度レジスタ SI/O4送受信レジスタ S3C S3BRG S4TRR 010000002 XX16 XX16 SI/O4制御レジスタ SI/O4転送速度レジスタ S4C S4BRG 010000002 XX16 UART0特殊モードレジスタ4 UART0特殊モードレジスタ3 UART0特殊モードレジスタ2 UART0特殊モードレジスタ UART1特殊モードレジスタ4 UART1特殊モードレジスタ3 UART1特殊モードレジスタ2 UART1特殊モードレジスタ UART2特殊モードレジスタ4 UART2特殊モードレジスタ3 UART2特殊モードレジスタ2 UART2特殊モードレジスタ UART2送受信モードレジスタ UART2転送速度レジスタ UART2送信バッファレジスタ U0SMR4 U0SMR3 U0SMR2 U0SMR U1SMR4 U1SMR3 U1SMR2 U1SMR U2SMR4 U2SMR3 U2SMR2 U2SMR U2MR U2BRG U2TB UART2送受信制御レジスタ0 UART2送受信制御レジスタ1 UART2受信バッファレジスタ U2C0 U2C1 U2RB 0016 000X0X0X2 X00000002 X00000002 0016 000X0X0X2 X00000002 X00000002 0016 000X0X0X2 X00000002 X00000002 0016 XX16 XXXXXXXX2 XXXXXXXX2 000010002 000000102 XXXXXXXX2 XXXXXXXX2 035116 035216 035316 035416 035516 XX16 XX16 XX16 XX16 XX16 XX16 035616 035716 035816 035916 035A16 035B16 035C16 035D16 035E16 035F16 036016 036116 036216 036316 036416 036516 036616 036716 036816 036916 036A16 036B16 036C16 036D16 036E16 036F16 037016 037116 037216 037316 037416 037516 037616 037716 037816 037916 037A16 037B16 037C16 037D16 037E16 037F16 注1. 空欄は予約領域です。アクセスしないでください。 X:不定です。 Rev.1.00 2004.03.01 page 20 of 311 M306H3MC-XXXFP/FCFP 番地 038016 038116 038216 038316 038416 レジスタ カウント開始フラグ 時計用プリスケーラリセットフラグ ワンショット開始フラグ トリガ選択レジスタ アップダウンフラグ シンボル TABSR CPSRF ONSF TRGSR UDF リセット後の値 0016 0XXXXXXX2 0016 0016 0016 タイマA0レジスタ TA0 タイマA1レジスタ TA1 タイマA2レジスタ TA2 タイマA3レジスタ TA3 タイマA4レジスタ TA4 タイマB0レジスタ TB0 タイマB1レジスタ TB1 タイマB2レジスタ TB2 タイマA0モ−ドレジスタ タイマA1モ−ドレジスタ タイマA2モ−ドレジスタ タイマA3モ−ドレジスタ タイマA4モ−ドレジスタ タイマB0モ−ドレジスタ タイマB1モ−ドレジスタ タイマB2モ−ドレジスタ TA0MR TA1MR TA2MR TA3MR TA4MR TB0MR TB1MR TB2MR XX16 XX16 XX16 XX16 XX16 XX16 XX16 XX16 XX16 XX16 XX16 XX16 XX16 XX16 XX16 XX16 0016 0016 0016 0016 0016 00XX00002 00XX00002 00XX00002 UART0送受信モ−ドレジスタ UART0転送速度レジスタ UART0送信バッファレジスタ U0MR U0BRG U0TB UART0送受信制御レジスタ0 UART0送受信制御レジスタ1 UART0受信バッファレジスタ U0C0 U0C1 U0RB UART1送受信モ−ドレジスタ UART1転送速度レジスタ UART1送信バッファレジスタ U1MR U1BRG U1TB UART1送受信制御レジスタ0 UART1送受信制御レジスタ1 UART1受信バッファレジスタ U1C0 U1C1 U1RB UART送受信制御レジスタ2 UCON 0016 XX16 XXXXXXXX2 XXXXXXXX2 000010002 000000102 XXXXXXXX2 XXXXXXXX2 0016 XX16 XXXXXXXX2 XXXXXXXX2 000010002 000000102 XXXXXXXX2 XXXXXXXX2 X00000002 DMA0要因選択レジスタ DM0SL 0016 DMA1要因選択レジスタ DM1SL 0016 CRCデータレジスタ CRCD CRCインプットレジスタ CRCIN XX16 XX16 XX16 038516 038616 038716 038816 038916 038A16 038B16 038C16 038D16 038E16 038F16 039016 039116 039216 039316 039416 039516 039616 039716 039816 039916 039A16 039B16 039C16 039D16 039E16 039F16 03A016 03A116 03A216 03A316 03A416 03A516 03A616 03A716 03A816 03A916 03AA16 03AB16 03AC16 03AD16 03AE16 03AF16 03B016 03B116 03B216 03B316 03B416 03B516 03B616 03B716 03B816 03B916 03BA16 03BB16 03BC16 03BD16 03BE16 03BF16 注1. 空欄は予約領域です。アクセスしないでください。 X:不定です。 Rev.1.00 2004.03.01 page 21 of 311 M306H3MC-XXXFP/FCFP レジスタ A-Dレジスタ0 シンボル AD0 リセット後の値 XXXXXXXX2 A-Dレジスタ1 AD1 XXXXXXXX2 A-Dレジスタ2 AD2 XXXXXXXX2 A-Dレジスタ3 AD3 XXXXXXXX2 A-Dレジスタ4 AD4 XXXXXXXX2 A-Dレジスタ5 AD5 XXXXXXXX2 A-Dレジスタ6 AD6 XXXXXXXX2 A-Dレジスタ7 AD7 XXXXXXXX2 A-D制御レジスタ2 ADCON2 0016 A-D制御レジスタ0 A-D制御レジスタ1 ADCON0 ADCON1 00000XXX2 0016 番地 03C016 03C116 03C216 03C316 03C416 03C516 03C616 03C716 03C816 03C916 03CA16 03CB16 03CC16 03CD16 03CE16 03CF 16 03D016 03D116 03D216 03D316 03D416 03D516 03D616 03D716 03D816 03D916 03DA16 ∼ ∼ ∼ ∼ 03DF16 03E016 03E116 03E216 03E316 03E416 03E516 03E616 03E716 03E816 03E916 03EA16 03EB16 03EC16 03ED16 03EE16 03EF16 03F016 03F116 03F216 03F316 03F416 ポートP0レジスタ ポートP1レジスタ ポートP0方向レジスタ ポートP1方向レジスタ ポートP2レジスタ ポートP3レジスタ ポートP2方向レジスタ ポートP3方向レジスタ ポートP4レジスタ ポートP5レジスタ ポートP4方向レジスタ ポートP5方向レジスタ ポートP6レジスタ ポートP7レジスタ ポートP6方向レジスタ ポートP7方向レジスタ ポートP8レジスタ ポートP9レジスタ ポートP8方向レジスタ ポートP9方向レジスタ ポートP10レジスタ P0 P1 PD0 PD1 P2 P3 PD2 PD3 P4 P5 PD4 PD5 P6 P7 PD6 PD7 P8 P9 PD8 PD9 P10 XX16 XX16 0016 0016 XX16 XX16 0016 0016 XX16 XX16 0016 0016 XX16 XX16 0016 0016 XX16 XX16 00X000002 0016 XX16 ポートP10方向レジスタ PD10 0016 プルアップ制御レジスタ0 プルアップ制御レジスタ1 PUR0 PUR1 プルアップ制御レジスタ2 ポート制御レジスタ PUR2 PCR 03F516 03F616 03F716 03F916 03FA16 03FB16 03FC16 03FD16 03FE16 03FF16 0016 000000002(注2) 000000102 0016 0016 注1. 空欄は予約領域です。アクセスしないでください。 注2. ハードウエアリセットでは次のようになります。 ・CNVSS端子に“L”を入力している場合、“000000002” ・CNVSS端子に“H”, M1端子に“H”を入力している場合、“000000102”(フラッシュメモリ版) ・CNVSS端子に“H”を入力している場合、“000000102”(マスクROM版) ソフトウエアリセットまたは、監視タイマリセットでは次のようになります。 ・PM0レジスタのPM01∼PM00ビットが“00 2”(シングルチップモード)の場合、“000000002” ・PM0レジスタのPM01∼PM00ビットが“01 2”(メモリ拡張モード)または“112”(マイクロプロセッサモード)の場合、“000000102” X:不定です。 Rev.1.00 2004.03.01 page 22 of 311 M306H3MC-XXXFP/FCFP 2.4 プロセッサモード (1) プロセッサモードの種類 プロセッサモードは、シングルチップモード、メモリ拡張モード、マイクロプロセッサモードを選 択できます。表2.4.1にプロセッサモードの特長を示します。 表2.4.1. プロセッサモードの特長 プロセッサモード アクセス空間 入出力ポートが割り当てられている端子 シングルチップモード SFR、内部RAM、内部ROM 全端子が入出力ポートまたは周辺機能 入出力端子 メモリ拡張モード SFR、内部RAM、内部ROM、外部領域(注1) 一部の端子がバス制御端子(注1) マイクロプロセッサモード SFR、内部RAM、外部領域(注1) 一部の端子がバス制御端子(注1) 注1. 詳細は、「バス」を参照してください。 (2) プロセッサモードの設定 プロセッサモードの設定は、CNVSS端子、PM0レジスタのPM01∼PM00ビットで行います。表2.4.2に ハードウエアリセット後のプロセッサモード、表2.4.3にPM01∼PM00ビットの設定値に対するプロセッ サモードを示します。 フラッシュメモリ版では、ハードウエアリセット後、マイクロプロセッサを使用する場合、CNVSS端 子及びM1端子をVCCにしてください。 マスクROM版では、ハードウエアリセット後、マイクロプロセッサを使用する場合、CNVSS端子をVCC にしてください。 表2.4.2. ハードウエアリセット後のプロセッサモード CNVSS端子の入力レベル VSS VCC (注1、注2) プロセッサモード シングルチップモード マイクロプロセッサモード 注1. フラッシュメモリ版では、CNVSS端子及びM1端子にVCCを入力(マスクROM版では、CNVSS 端子にVCCを入力)し、ハードウエアリセットした場合、PM01∼PM00ビットにかかわらず、 内部ROMはアクセスできません。 注2. マルチプレクスバスをCSの全空間に割り当てることはできません。 表2.4.3. PM01∼PM00ビットの設定値に対するプロセッサモード PM01∼PM00ビット プロセッサモード 002 シングルチップモード 012 メモリ拡張モード 102 設定しないでください 112 マイクロプロセッサモード PM01∼PM00ビットを書き換えると、CNVSS端子の入力レベルにかかわらず、PM01∼PM00ビットに 対応するモードになります。PM01∼PM00ビットを“012”(メモリ拡張モード)または“112”(マイクロ プロセッサモード)に書き換える場合、PM07ビット∼PM02ビットと同時に書き換えないでください。ま た、内部ROMでのマイクロプロセッサモードへの移行、内部ROMと重なる領域でのマイクロプロセッサ モードからの移行は行わないでください。 フラッシュメモリ版では、CNVSS端子, M1端子にVCCを入力(マスクROM版では、CNVSS端子にVCCを 入力)し、ハードウエアリセットした場合、PM01∼PM00ビットにかかわらず、内部ROMはアクセスでき ません。 図2.4.1∼図2.4.2にプロセッサモード関連レジスタ、図2.4.3にシングルチップモード時のメモリ配置を 示します。 Rev.1.00 2004.03.01 page 23 of 311 M306H3MC-XXXFP/FCFP プロセッサモードレジスタ0(注1) b7 b6 b5 b4 b3 b2 b1 b0 シンボル PM0 ビットシンボル PM00 アドレス 000416番地 リセット後の値(注4) 000000002(CNVSS端子が“L”) 000000112(CNVSS端子が“H”) (注5) ビット名 プロセッサモードビット (注4) PM01 機 能 RW b1 b0 0 0 : シングルチップモード 0 1 : メモリ拡張モード 1 0 : 設定しないでください 1 1 : マイクロプロセッサモード RW RW PM02 R/Wモード選択ビット (注2) 0 : RD、BHE、WR 1 : RD、WRH、WRL PM03 ソフトウエアリセットビット このビットを“1”にするとマイクロコ RW ンピュータはリセットされる。 読んだ場合、その値は“0”。 PM04 PM05 PM06 PM07 b5 b4 マルチプレクスバス空間 0 0 : マルチプレクスバスを使用しない 選択ビット (注2) (CSの全空間はセパレートバス) 0 1 : CS2の空間に割り当てる 1 0 : CS1の空間に割り当てる 1 1 : CSの全空間に割り当てる (注3) RW RW RW 0 : アドレス出力 (注2) 1 : ポート機能 RW (アドレスは出力されません) BCLK出力禁止ビット (注2) 0 : 出力する RW 1 : 出力しない (端子はハイインピーダンスになります) ポートP40∼P43機能 選択ビット 注1. このレジスタは、PRCRレジスタのPRC1ビットを“1”(書き込み許可)にした後で書き換えてください。 注2. PM01∼PM00ビットが“012”(メモリ拡張モード)または“112”(マイクロプロセッサモード)の場合に有効。 注3. PM01∼PM00ビットが“012”で、PM05∼PM04ビットを“112”(マルチプレクスバスをCSの全空間に割り当てる) にする場合、BYTE端子に“H”を入力(外部データバスは8ビット)にしてください。 フラッシュメモリ版では、CNVSS端子、及びM1端子にVCCを入力している場合(マスクROM版では、CNVSS端子に VCCを入力している場合)、リセット後、PM05∼PM04ビットを“112”にしないでください。 メモリ拡張モードで、PM05∼PM04ビットを“112”にした場合、P31∼P37、P40∼P43は入出力ポートとなり ますので、アクセスできる領域はCSごとに256バイトです。 注4. PM00、PM01ビットはソフトウエアリセット、監視タイマリセット時は変化しません。 注5. フラッシュメモリ版では、CNVSS端子=VCC、M1端子=VCC時。マスクROM版では、CNVSS端子=VCC時。 図2.4.1. PM0レジスタ Rev.1.00 2004.03.01 page 24 of 311 M306H3MC-XXXFP/FCFP プロセッサモードレジスタ1(注1) b7 b6 b5 b4 0 0 0 b3 b2 b1 b0 シンボル PM1 ビットシンボル アドレス 000516番地 リセット後の値 0X0010002 ビット名 機 能 RW CS2領域切り替えビット (注2) 0 : 0800016∼26FFF16 1 : 1000016∼26FFF16 PM11 ポートP37∼P34機能選択 ビット(注3) 0 : アドレス出力 1 : ポート機能 RW PM12 監視タイマ機能選択ビット 0 : 監視タイマ割り込み 1 : リセット(注4) RW PM13 内部予約領域拡張ビット (注2) 注7を参照してください RW 予約ビット “0”にして下さい。 RW ウエイトビット(注5) 0 : ウエイトなし 1 : ウエイトあり(1ウエイト) RW PM10 (b6-b4) PM17 RW 注1. このレジスタは、PRCRレジスタのPRC1ビットを“1”(書き込み許可)にした後で書き換えてください。 注2. マスクROM版では“0”にしてください。FMR0レジスタのFMR01ビットを“1”(CPU書き換えモード)にすると、 その間は自動的に“1”になります。 注3. PM01∼PM00ビットが“012”(メモリ拡張モード)または“112”(マイクロプロセッサモード)の場合に有効。 注4. PM12ビットはプログラムで“1”を書くと“1”になります(“0”を書いても変化しません)。 注5. PM17ビットが“1”(ウエイトあり)の場合、内部RAM、内部ROM、外部領域アクセス時に1ウエイトが挿入 されます。CSRレジスタのCSiWビット(i=0∼3)が“0”(ウエイトあり)の場合、PM17ビットにかかわらず、 CSi領域はウエイトありになります。RDY信号を使用する場合、またはマルチプレクスバスを使用する場合、 CSRレジスタのCSiWビットを“0”(ウエイトあり)にしてください。 注6. FMR0レジスタのFMR01ビットが“1”(CPU書き換えモード)の期間、PM13ビットは、自動的に“1”になります。 注7. PM13ビットで次のとおりアクセス領域が変化します。 アクセス領域 内部 PM13=0 RAM 最大0040016∼03FFF16番地(15Kバイト) 全領域を使用可能 ROM 最大D000016∼FFFFF16番地(192Kバイト) 全領域を使用可能 0400016∼07FFF16番地を使用可能 8000016∼CFFFF16番地を使用可能 0400016∼07FFF16番地は予約領域 8000016∼CFFFF16番地は予約領域 外部 図2.4.2. PM1レジスタ Rev.1.00 2004.03.01 PM13=1 page 25 of 311 M306H3MC-XXXFP/FCFP シングルチップモード 0000016 SFR 0040016 内部RAM 017FF16 使用 できません E000016 内部ROM FFFFF16 注1. PM10ビットを“0”(CS2領域は08000 16∼26FFF16)にしてください。 図2.4.3. シングルチップモード時のメモリ配置 Rev.1.00 2004.03.01 page 26 of 311 M306H3MC-XXXFP/FCFP 2.4.1 バス メモリ拡張モード、またはマイクロプロセッサモードでは、一部の端子が外部デバイスとのデータ入 _______ _______ ______ _________ ______ 出力を行うバス制御端子となります。バス制御端子にはA0∼A19、D0∼D15、CS0∼CS3、RD、WRL/WR、 _________ ________ _________ ___________ ___________ WRH/BHE、ALE、RDY、HOLD、HLDA、BCLKがあります。 バス形式 バスの形式は、PM0レジスタのPM05∼PM04ビットでマルチプレクスバスまたはセパレートバスを 選択できます。 ●セパレートバス データとアドレスを分離するバスの形式です。 ●マルチプレクスバス データとアドレスをマルチプレクスするバスの形式です。 ・BYTE 端子に“H ”を入力している(データバス幅8 ビット)場合 D0 ∼D7 がA0 ∼A7 とマルチプレクスされます。 ・BYTE 端子に“L ”を入力している(データバス幅16 ビット)場合 D0∼D7がA1∼A8とマルチプレクスされます。D8∼D15はマルチプレクスされません。D8∼D15 は使用しないでください。 マルチプレクスバスに接続した外部デバイスは、マイクロコンピュータの偶数番地のみに配置 されます。奇数番地にはアクセスできません。 Rev.1.00 2004.03.01 page 27 of 311 M306H3MC-XXXFP/FCFP 2.4.2 バス制御 外部デバイスのアクセスに必要な信号とソフトウエアウエイトについて説明します。 (1) アドレスバス アドレスバスはA0∼A19の20本あります。アドレスバス幅はPM0レジスタのPM06ビットとPM1レジ スタのPM11ビットによって12ビット、16ビット、20ビットから選択できます。表2.4.4にPM06ビット、 PM11ビットの設定値とアドレスバス幅を示します。 表2.4.4. PM06ビット、PM11ビットの設定値とアドレスバス幅 設定値(注1) PM11=1 端子の機能 P34∼P37 PM06=1 PM11=0 PM06=1 P40∼P43 A12∼A15 P40∼P43 PM11=0 A12∼A15 PM06=0 A16∼A19 アドレスバス幅 12ビット 16ビット 20ビット 注1. この表で示す値以外を設定しないでください。 なお、シングルチップモードからメモリ拡張モードに変更した場合、アドレスバスは外部領域をア クセスするまで不定です。 (2) データバス BYTE端子に“H”を入力している(データバス幅が8ビット)場合、D0∼D7の8本がデータバスに、 BYTE端子に“L”を入力している(データバス幅が16ビット)場合、D0∼D15の16本がデータバスにな ります。 BYTE端子の入力レベルは変更しないでください。 (3) チップセレクト信号 _____ _____ チップセレクト信号(以下、CSと称す)はCSi(i=0∼3)端子から出力されます。CSRレジスタのCSiビッ _____ トによって、端子の機能を入出力ポートにするかCSにするかを選択できます。図2.4.4にCSRレジスタ を示します。 _____ _____ CSi端子から出力されるCSi信号によって外部領域を最大4つに分割できます。 _____ _____ 図2.4.5にアドレスバスとCSi信号の出力例(セパレートバス、ウエイトなし)、図2.4.6∼図2.4.7にCS 領域を示します。 チップセレクト制御レジスタ b7 b6 b5 b4 b3 b2 b1 b0 シンボル CSR ビットシンボル アドレス 000816番地 ビット名 ビット名 CS0 CS0出力許可ビット CS1 CS1出力許可ビット CS2 CS2出力許可ビット CS3 CS3出力許可ビット CS0W CS0ウエイトビット CS1W CS1ウエイトビット CS2W CS2ウエイトビット CS3W CS3ウエイトビット リセット後の値 0116 機 能 機 能 0 : チップセレクト出力禁止 (入出力ポートになります) 1 : チップセレクト出力許可 RW R W RW RW RW RW 0 : ウエイトあり 1 : ウエイトなし (注1、注2、注3) RW RW RW RW 注1. CSi(i=0∼3)の示す領域にRDY信号を使用する場合、またはマルチプレクスバスを使用する場合、CSiWビットを“0” (ウエイトあり)にしてください。 注2. PM1レジスタのPM17ビットが“1”(ウエイトあり)の場合、CSiWビットが“1”(ウエイトなし)でもCS0∼CS3が示す 外部領域は1ウエイトになります。 注3. CSiWビットが“0”(ウエイトあり)のとき、CSEレジスタのCSEi1W∼CSEi0Wビットでウエイト数を選択できます。 図2.4.4. CSRレジスタ Rev.1.00 2004.03.01 page 28 of 311 M306H3MC-XXXFP/FCFP 例1. CSiが示す外部領域へアクセス後、次のサイクルでCSjが示す外部 領域へアクセスする場合 例2. CSiが示す外部領域へアクセス後、次のサイクルで内部ROMまたは 内部RAMへアクセスする場合 この2つのサイクル間でチップセレクト信号は変化するが、アドレス バスは変化しない。 この2つのサイクル間でアドレスバス、チップセレクト信号が共に 変化する。 CSiが示す外部領域 へのアクセス CSiが示す外部領域 へのアクセス CSjが示す外部領域 へのアクセス BCLK BCLK リード信号 リード信号 デ−タ データバス デ−タ デ−タ データバス アドレス アドレス アドレスバス 内部ROMまたは内部 RAMへのアクセス アドレス アドレスバス CSi CSi CSj 例3. CSiが示す外部領域へアクセス後、次のサイクルで同じCSiが示す 外部領域へアクセスする場合 例4. CSiが示す外部領域へアクセス後、次のサイクルでいずれの領域 にもアクセスしない(命令のプリフェッチも発生しない)場合 この2つのサイクル間でアドレスバスは変化するが、チップセレクト 信号は変化しない。 CSiが示す外部領域 へのアクセス この2つのサイクル間でアドレスバス、チップセレクト信号は共に 変化しない。 CSiが示す外部領域 へのアクセス 同じ外部領域への アクセス BCLK BCLK リード信号 リード信号 データバス アドレスバス デ−タ デ−タ アドレス アドレス CSi データバス アドレスバス CSi 注1. これらの例は、連続する2つのサイクルのアドレスバスとチップセレクト信号を示しています。 これらの例の組み合わせにより、チップセレクトは2バスサイクル以上、伸びる場合があります。 上図は、セパレートバス、ウエイトなし、読み出しの場合です。i=0∼3、j=0∼3(ただし、iを除く)。 _____ 図2.4.5. アドレスバスとCSi信号の出力例 Rev.1.00 2004.03.01 page 29 of 311 アクセスなし デ−タ アドレス M306H3MC-XXXFP/FCFP マイクロプロセッサモード メモリ拡張モード 0000016 SFR 0040016 SFR 内部RAM 内部RAM 予約領域 予約領域 予約、外部領域 予約、外部領域 予約領域 予約領域 017FF16 0400016 0800016 CS3(16Kバイト) 1000016 2700016 2800016 CS2(PM10=0: 124Kバイト) CS2 (PM10=1: 92Kバイト) CS1(32Kバイト) 3000016 外部領域 外部領域 CS0(メモリ拡張モード:640Kバイト ) D000016 予約領域 CS0(マイクロプロセッサモード:832Kバイト) E0000 16 内部ROM FFFFF16 PM13=0 外部領域 CS0 CS1 2800016∼ メモリ拡張モード 2FFFF16 3000016∼CFFFF16 マイクロプロセッサモード 3000016∼FFFFF16 CS2 PM10=0の場合 0800016∼26FFF16 PM10=1の場合 1000016∼26FFF16 CS3 0400016∼ 07FFF16 _____ 図2.4.6. CS領域(PM13=0) メモリ拡張モード 0000016 0040016 マイクロプロセッサモード SFR SFR 内部RAM 内部RAM 017FF16 予約領域 0800016 予約、外部領域 予約、外部領域 予約領域 予約領域 CS2(PM10=0: 124Kバイト) CS2 (PM10=1: 92Kバイト) 1000016 2700016 2800016 CS1(32Kバイト) 3000016 外部領域 CS0(メモリ拡張モード:320Kバイト ) 外部領域 8000016 予約領域 CS0(マイクロプロセッサモード:832Kバイト) E000016 内部ROM FFFFF16 PM13=1 外部領域 CS0 CS1 2800016∼ メモリ拡張モード 2FFFF16 3000016∼7FFFF16 マイクロプロセッサモード 3000016∼FFFFF16 _____ 図2.4.7. CS領域(PM13=1) Rev.1.00 2004.03.01 page 30 of 311 CS2 PM10=0の場合 0800016∼26FFF16 PM10=1の場合 1000016∼26FFF16 CS3 領域なし M306H3MC-XXXFP/FCFP (4) リード信号、ライト信号 データバス幅が16ビットの場合、リード信号、ライト信号はPM0レジスタのPM02ビットによって、 ______ ________ _______ ______ _________ __________ RD、BHE、WRの組み合わせ、またはRD、WRL、WRHの組み合わせを選択できます。データバス幅 ______ _______ ________ ______ _________ _________ が8ビットの場合、RD、WR、BHEの組み合わせにしてください。表2.4.5にRD、WRL、WRH信号の ______ ______ ________ 動作、表2.4.6に RD、WR、BHE信号の動作を示します。 ______ _________ _________ 表2.4.5. RD、WRL、WRH信号の動作 データバス 16ビット (BYTE端子に “L”を入力) ______ ______ RD L H H H WRL H L H L WRH H H L L 外部データバスの状態 データを読む 偶数番地に1バイトデータを書く 奇数番地に1バイトデータを書く 偶数番地、奇数番地ともにデータを書く ________ 表2.4.6. RD、WR、BHE信号の動作 データバス 16ビット (BYTE端子に “L”を入力) 8ビット (BYTE端子に “H”を入力) BHE L L H H L L A0 H H L L L L RD H L H L H L WR L H L H L H 外部データバスの状態 奇数番地に1バイトデータを書く 奇数番地の1バイトデータを読む 偶数番地に1バイトデータを書く 偶数番地の1バイトデータを読む 偶数番地、奇数番地ともにデータを書く 偶数番地、奇数番地ともにデータを読む H L (注1) HまたはL 1バイトのデータを書く L H (注1) HまたはL 1バイトのデータを読む 注1. 使用しないでください。 (5) ALE信号 マルチプレクスバスの空間をアクセスするとき、アドレスをラッチするための信号です。ALE信号 の立ち下がりでアドレスをラッチしてください。 BYTE端子に“H”を入力した場合 BYTE端子に“L”を入力した場合 ALE ALE A0/D0∼A7/D7 A8∼A19 アドレス データ A0 A1/D0∼A8/D7 アドレス アドレス A9∼A19 注1. CSの全空間にマルチプレクスバスを割り当てた場合、入出力ポートになります。 図2.4.8. ALE信号とアドレスバス、データバス Rev.1.00 2004.03.01 データ アドレス(注1) page 31 of 311 アドレス M306H3MC-XXXFP/FCFP _______ (6) RDY信号 アクセス速度が遅い外部デバイスをアクセスするための信号です。バスサイクルの最後のBCLKの _______ 立ち下がり時にRDY端子へ“L”が入力されている場合、バスサイクルにウエイトが挿入されます。 _______ _______ RDY信号によるウエイト中、次の信号はRDY信号を受け付けたときの状態を保持します。 ______ ______ ______ ________ ________ ______ ________ ____________ A0∼A19、D0∼D15、CS0∼CS3、RD、WRL、WRH、WR、BHE、ALE、HLDA _______ その後、BCLKの立ち下がり時にRDY端子へ“H”が入力されていると、残りのバスサイクルを実 ________ 行します。図2.4.9にRDY信号によってリードサイクルにウエイトが挿入された例を示します。 ________ RDY信号を使用する場合、CSRレジスタの対応するビット(CS3W∼CS0Wビット)を“0”(ウエイト _______ あり)にしてください。RDY信号を使用しない場合、未使用端子の処理をしてください。 セパレートバスの場合 BCLK RD CSi (i=0∼3) RDY tsu(RDY - BCLK) RDYの受付タイミング マルチプレクスバスの場合 BCLK RD CSi (i=0∼3) RDY tsu(RDY - BCLK) :RDY信号によるウエイト RDYの受付タイミング :ソフトウエアによるウエイト tsu(RDY - BCLK):RDY入力セットアップ時間 上記はCSEレジスタのCSEi1W∼CSEi0W(i=0∼3)ビットが“002”(1ウエイト)の場合です。 ________ 図2.4.9. RDY信号によってリードサイクルにウエイトが挿入された例 Rev.1.00 2004.03.01 page 32 of 311 M306H3MC-XXXFP/FCFP __________ (7) HOLD信号 ____________ バスの使用権をCPUやDMAから外部回路へ移行するための信号です。HOLD端子に“L”を入力す ____________ るとその時点のバスアクセスを終了した後、マイクロコンピュータはホールド状態になります。HOLD ____________ 端子が“L”の期間、ホールド状態を保持し、HLDA端子からホールド状態の間、“L”を出力します。 表2.4.7にホールド状態におけるマイクロコンピュータの状態を示します。 ____________ なお、バスの使用優先順位は高い方から順に、HOLD、DMAC、CPUとなります。ただし、CPUが 奇数番地をワード単位でアクセスしている場合、2 回に分けられたアクセスの間、DMA はバス使用 権を得ることはできません。 __________ HOLD > DMAC > CPU 図2.4.10. バス使用優先順位 表2.4.7. ホールド状態におけるマイクロコンピュータの状態 項 目 BCLK _______ _______ ______ _________ _________ ______ A0∼A19、D0∼D15、CS0∼CS3、RD、WRL、WRH、WR ________ BHE 入出力ポート P0、P1、P3、P4(注1) P6∼P10 ____________ HLDA 内部周辺機能 ALE 注1. 入出力ポートを選択した場合です。 状 態 出力 ハイインピーダンス ハイインピーダンス HOLD信号を受け付けたときの状態を保持 “L”を出力 動作(ただし監視タイマは停止) 不定 __________ (8) BCLK出力 PM0レジスタのPM07ビットを“0”(出力する)にすると、CPUクロックと同一周波数のクロックが BCLKとしてBCLK端子から出力されます。詳細は「CPUクロックと周辺機能」を参照してください。 Rev.1.00 2004.03.01 page 33 of 311 M306H3MC-XXXFP/FCFP 表2.4.8. プロセッサモードと端子の機能表 プロセッサモード メモリ拡張モードまたはマイクロプロセッサモード 002(セパレートバス) PM05∼PM04ビット データバス幅 8ビット BYTE端子 “H” メモリ拡張モード 012(CS2領域はマルチプレクスバス それ以外はセパレートバス) 102(CS1領域はマルチプレクスバス それ以外はセパレートバス) 16ビット 8ビット “L” 112(CSの全空間が マルチプレクス バス) (注1) 16ビット “H” 8ビット “L” “H” P00∼P07 D0∼D7 D0∼D7 D0∼D7 (注4) D0∼D7 (注4) 入出力ポート P10∼P17 入出力ポート D8∼D15 入出力ポート D8∼D15 (注4) 入出力ポート P20 A0 A0 A0/D0(注2) A0 A0/D0 P21∼P27 A1∼A7 A1∼A7 A1∼A7/D1∼D7 (注2) A1∼A7/D0∼D6 (注2) A1∼A7/D1∼D7 P30 A8 A8 A8 A8/D7(注2) P31∼P33 A9∼A11 入出力ポート PM11=0 A12∼A15 入出力ポート PM11=1 入出力ポート P34∼P37 P40∼P43 P44 P45 P46 P47 PM06=0 A16∼A19 PM06=1 入出力ポート CS0=0 入出力ポート CS0=1 CS0 CS1=0 入出力ポート CS1=1 CS1 CS2=0 入出力ポート CS2=1 CS2 CS3=0 入出力ポート CS3=1 CS3 P50 PM02=0 WR P51 PM02=0 PM02=1 入出力ポート (注3) WRL (注3) WRL (注3) (注3) WRH (注3) WRH (注3) BHE PM02=1 P52 A8 RD P53 BCLK P54 HLDA P55 HOLD P56 ALE P57 RDY 入出力ポート:入出力ポートまたは周辺機能入出力端子として機能する 注1. PM01∼PM00ビットが“012 ”(メモリ拡張モード)で、PM05∼PM04ビットを“112”(マルチプレクスバスをCSの全空間に割り当てる)に する場合、BYTE端子に“H”を入力(外部データバスは8ビット)してください。 CNVSS端子にVCCを入力している(フラッシュメモリ版では、CNVSS端子及びM1端子にVCCを入力している)場合、リセット後、 PM05∼PM04ビットを“112”にしないでください。 メモリ拡張モードで、PM05∼PM04ビットを“11 2”にした場合、P31∼P37、P40∼P43は入出力ポートとなりますので、アクセスできる 領域はCSごとに256バイトです。 注2. セパレートバスではアドレスバスになります。 注3. データバス幅8ビットの場合、PM02ビットは“0”(RD、BHE、WR)にしてください。 注4. マルチプレクスバスを使用する領域をアクセスする場合、書き込み時は不定値を出力します。 Rev.1.00 2004.03.01 page 34 of 311 M306H3MC-XXXFP/FCFP (9) 内部領域をアクセスしたときの外部バスの状態 表2.4.9に内部領域をアクセスしたときの外部バスの状態を示します。 表2.4.9. 内部領域をアクセスしたときの外部バスの状態 項 目 SFRをアクセスしたときの状態 内部ROM、RAMをアクセスしたときの状態 アドレスを出力 直前にアクセスされた外部領域またはSFR のアドレスを保持 D0∼D15 リード時 ハイインピーダンス ハイインピーダンス ライト時 データを出力 不定 _____ ______ _________ __________ _____ ______ _________ __________ RD、WR、WRL、WRH RD、WR、WRL、WRHを出力 “H”を出力 ________ ________ BHE BHEを出力 直前にアクセスされた外部領域またはSFR の状態を保持 ______ ______ CS0∼CS3 “H”を出力 “H”を出力 ALE “L”を出力 “L”を出力 A0∼A19 (10) ソフトウエアウエイト PM1レジスタのPM17ビット、CSRレジスタのCS0W∼CS3Wビット、CSEレジスタによって、ソフ トウエアウエイトを挿入できます。 SFR領域は、これらの制御ビットの影響を受けず、BCLKの2サイクルでアクセスされます。 _________ RDY信号を使用する場合、CS0W∼CS3Wビットの該当するビットを“0”(ウエイトあり)にしてく ださい。 図2.4.11にCSEレジスタ、表2.4.10にソフトウエアウエイト関連ビットとバスサイクル、図2.4.12、 図2.4.13にソフトウエアウエイトを使用した場合のバスタイミング例を示します。 チップセレクト拡張制御レジスタ b7 b6 b5 b4 b3 b2 b1 b0 シンボル CSE アドレス 001B16番地 ビットシンボル ビット名 CSE00W リセット後の値 0016 CS0ウエイト拡張ビット(注1) CSE01W CSE10W CS1ウエイト拡張ビット(注1) CSE11W CSE20W CS2ウエイト拡張ビット(注1) CSE21W CSE30W CSE31W CS3ウエイト拡張ビット(注1) 機 能 RW b1 b0 0 0 : 1ウエイト 0 1 : 2ウエイト 1 0 : 3ウエイト 1 1 : 設定しないでください b1 b0 0 0 : 1ウエイト 0 1 : 2ウエイト 1 0 : 3ウエイト 1 1 : 設定しないでください b1 b0 0 0 : 1ウエイト 0 1 : 2ウエイト 1 0 : 3ウエイト 1 1 : 設定しないでください b1 b0 0 0 : 1ウエイト 0 1 : 2ウエイト 1 0 : 3ウエイト 1 1 : 設定しないでください RW RW RW RW RW RW RW RW 注1. CSRレジスタのCSiWビット(i=0∼3)を“0”(ウエイトあり)にしてから、CSEi1W∼CSEi0Wビットを書いてください。 また、CSiWビットを“1”(ウエイトなし)にする場合は、CSEi1W∼CSEi0Wビットを“002”に戻してから行って ください。 図2.4.11. CSEレジスタ Rev.1.00 2004.03.01 page 35 of 311 M306H3MC-XXXFP/FCFP 表2.4.10. ソフトウエアウエイト関連ビットとバスサイクル PM1レジスタ PM17ビット バス形式 領域 CSRレジスタ CS3Wビット(注1) CS2Wビット(注1) CS1Wビット(注1) CS0Wビット(注1) CSEレジスタ CSE31W∼CSE30Wビット CSE21W∼CSE20Wビット CSE11W∼CSE10Wビット CSE01W∼CSE00Wビット ソフトウエア ウエイト SFR バスサイクル BCLKの2サイクル 内部 RAM、ROM 0 なし 1 1ウエイト 0 1 002 なし BCLKの1サイクル(注3) BCLKの2サイクル BCLKの1サイクル(リード) BCLKの2サイクル(ライト) セパレート バス 外部領域 1 マルチプレクス バス(注2) 1 0 002 1ウエイト BCLKの2サイクル(注3) 0 012 2ウエイト BCLKの3サイクル 0 102 3ウエイト BCLKの4サイクル 1 002 1ウエイト BCLKの2サイクル 0 002 1ウエイト BCLKの3サイクル 0 012 2ウエイト BCLKの3サイクル 0 102 3ウエイト BCLKの4サイクル 0 002 1ウエイト BCLKの3サイクル 注1. RDY信号を使用する場合“0”(ウエイトあり)にしてください。 注2. マルチプレクスバスでアクセスする場合は、CS0W∼CS3Wビットの該当するビットを“0”(ウエイトあり)にしてください。 注3. リセット後、PM17ビットは“0”(ウエイトなし)、CS0W∼CS3Wビットはすべて“0”(ウエイトあり)、CSEレジスタは“0016”(CS0∼CS3は 1ウエイト)ですので、内部RAMと内部ROMはウエイトなし、外部領域はすべて1ウエイトになります。 Rev.1.00 2004.03.01 page 36 of 311 M306H3MC-XXXFP/FCFP (1) セパレートバス、ウエイトなし設定 バスサイクル (注1) バスサイクル (注1) BCLK ライト信号 リード信号 データバス アドレスバス 入力 出力 アドレス アドレス CS (2) セパレートバス、1ウエイト設定 バスサイクル(注1) バスサイクル(注1) BCLK ライト信号 リード信号 データバス アドレスバス 出力 入力 アドレス アドレス CS (3) セパレートバス、2ウエイト設定 バスサイクル(注1) バスサイクル(注1) BCLK ライト信号 リード信号 出力 データバス アドレスバス アドレス 入力 アドレス CS 注1. 本タイミング例はバスサイクルの長さを示したものです。本バスサイクルの後にリードサイクル、ライトサイクルが 連続する場合もあります。 図2.4.12. ソフトウエアウエイトを使用した場合のバスタイミング例(1) Rev.1.00 2004.03.01 page 37 of 311 M306H3MC-XXXFP/FCFP (1) セパレートバス、3ウエイト設定 バスサイクル(注1) バスサイクル(注1) BCLK ライト信号 リード信号 入力 出力 データバス アドレス アドレスバス アドレス CS (2) マルチプレクスバス、1ウエイト該定または2ウエイト設定 バスサイクル(注1) バスサイクル(注1) BCLK ライト信号 リード信号 ALE アドレス アドレス アドレスバス アドレスバス アドレス /データバス データ出力 アドレス 入力 CS (3) マルチプレクスバス、3ウエイト設定 バスサイクル(注1) バスサイクル(注1) BCLK ライト信号 リード信号 ALE アドレスバス アドレスバス /データバス アドレス アドレス アドレス データ出力 アドレス 入力 CS 注1. 本タイミング例はバスサイクルの長さを示したものです。本バスサイクルの後にリードサイクル、ライトサイクルが連続 する場合もあります。 (EF-03-UM60) 図2.4.13. ソフトウエアウエイトを使用した場合のバスタイミング例(2) Rev.1.00 2004.03.01 page 38 of 311 M306H3MC-XXXFP/FCFP 2.5 クロック発生回路 クロック発生回路として、2つの回路を内蔵します。 ・ メインクロック発振回路 ・ サブクロック発振回路 表2.5.1にクロック発生回路の概略仕様を示します。また、図2.5.1にシステムクロック発生回路のブロッ ク図、図2.5.2∼図2.5.4にクロック関連レジスタを示します。 表2.5.1. クロック発生回路の概略仕様 項 目 用途 メインクロック 発振回路 ・CPUのクロック源 ・周辺機能のクロック源 クロック周波数 0∼10MHz 接続できる発振子 ・セラミック共振子 ・水晶発振子(注2) サブクロック 発振回路 ・CPUのクロック源 ・タイマA、Bの クロック源 32.768kHz ・水晶発振子 発振子の接続端子 XIN、XOUT XCIN、XCOUT 発振停止、再開 機能 あり あり 発振 停止 リセット後 の状態 (注1) その他 外部で生成されたクロックを入力可能 注1.START端子=“H”設定時のリセット後の状態を示します。 START端子=“L”設定時では、以下のようになります。 メインクロック発振回路:停止, サブクロック発振回路:発振 注2.「2.14 拡張機能(スライサ)」を使用する場合は、XIN-XOUT端子間に水晶発振子を必ず接続してください。 Rev.1.00 2004.03.01 page 39 of 311 M306H3MC-XXXFP/FCFP サブクロック 発振回路 XCIN 入出力ポート XCOUT CM01∼CM00=002 PM01∼PM00=002、CM01∼CM00=012 CLKOUT PM01∼PM00=002、 CM01∼CM00=112 PM01∼PM00=002、CM01∼CM00=102 1/32 CM04 fC32 f1 サブクロック PCLK0=1 f2 PCLK0=0 fC f8 START f32 S Q fAD R f1SIO CM07 f2SIO メイン クロック CM06 CM10=1(ストップモード) S Q XIN PCLK1=1 PCLK1=0 f8SIO XOUT f32SIO e b c R a CM07=0 d 分周器 CPUクロック fC メインクロック 発振回路 CM05 BCLK CM07=1 CM02 S Q R WAIT命令 e a RESET c b 1/2 1/2 1/2 1/2 1/4 ソフトウエアリセット NMI CM06=1 割り込み要求レベル判定出力 CM02、CM04、CM05、CM06、CM07: CM0レジスタのビット CM10、CM11、CM16、CM17: CM1レジスタのビット PCLK0、PCLK1: PCLKレジスタのビット CM06=0 CM17∼CM16=102 Rev.1.00 2004.03.01 page 40 of 311 1/32 1/16 CM06=0 CM17∼CM16=112 d CM06=0 CM17∼CM16=012 CM06=0 CM17∼CM16=002 図2.5.1. システムクロック発生回路 1/2 1/2 1/8 分周器詳細 M306H3MC-XXXFP/FCFP システムクロック制御レジスタ0(注1) b7 b6 b5 b4 b3 b2 b1 b0 シンボル CM0 ビットシンボル CM00 CM01 アドレス 000616番地 リセット後の値 (注14) 010010002 (START端子=Vcc時) (START端子=Vss時) 011110002 ビット 名 クロック出力機能選択ビット (シングルチップモード時 のみ有効) 機 能 b1 b0 0 0 : 入出力ポートP57 0 1 : fCを出力 1 0 : f8を出力 1 1 : f32を出力 RW RW RW WAIT時周辺機能クロック 停止ビット(注10) 0 : ウエイトモード時、周辺機能 クロック停止しない 1 : ウエイトモード時、周辺機能 クロック停止する(注8) RW CM03 XCIN-XCOUT駆動能力選択 ビット(注2) 0 : Low 1 : High RW CM04 ポートXC切り替えビット (注2) 0 : 入出力ポートP86、P87 1 : XCIN-XCOUT発振機能(注9) RW CM05 メインクロック停止ビット (注3、注10、注12、注13) 0 : 発振 1 : 停止(注4、注5) RW CM06 メインクロック分周比 選択ビット0(注7、注13) 0 : CM16、CM17ビット有効 1 : 8分周モード RW CM07 システムクロック選択ビット (注6、注10、注11、注12) 0 : メインクロック 1 : サブクロック RW CM02 注1. 注2. このレジスタは、PRCRレジスタのPRC0ビットを“1”(書き込み許可)にした後で書き換えてください。 CM04ビットを“0”(入出力ポート)にしたとき、またはストップモードへ移行したとき、CM03ビットは“1”(HIGH)に なります。 注3. このビットは低消費電力モードにするときに、メインクロックを停止させるためのビットです。メインクロックが停止 したかどうかの検出には使用できません。メインクロックを停止させる場合、次のようにしてください。 (1) サブクロックが安定して発振している状態で、CM07ビットを“1”(サブクロック選択)にする (2) CM05ビットを“1”(停止)にする 注4. 外部クロック入力時には、クロック発振バッファだけ停止し、サブクロックをCPUクロックに選択していなければ、 クロック入力は受け付けられます。 注5. CM05ビットが“1”の場合、XOUT端子は“H”になります。また、内蔵している帰還抵抗は接続したままですので、XIN 端子は帰還抵抗を介して、XOUT(“H”)にプルアップされた状態となります。 注6. CM04ビットを“1”(XCIN-XCOUT発振機能)にし、サブクロックの発振が安定した後に、CM07ビットを“0”から“1” (サブクロック)にしてください。 注7. 高速モード、中速モードからストップモードへの移行時、CM06ビットは“1”(8分周モード)になります。 注8. fC32は停止しません。低速モードまたは低消費電力モード時は“1”(ウエイトモード時、周辺機能クロック停止する)に しないでください。 注9. サブクロックを使用する場合、このビットを“1”にしてください。また、ポートP86、P87は入力ポートで、 プルアップなしにしてください。 注10. PM2レジスタのPM21ビットが“1”(クロック変更禁止)の場合、CM02、CM05、CM07ビットに書いても変化しません。 注11. PM21ビットを“1”にする場合、CM07ビットを“0”(メインクロック)にした後で、PM21ビットを“1”にしてください。 注12. CPUクロックのクロック源をメインクロックにする場合、次のようにしてください。 (1) CM05ビットを“0”(発振)にする。 (2) td(M-L)またはメインクロック発振安定時間のうち長い方を待つ。 (3) CM07ビットを“0”にする。 注13. CM05ビットが“1”(メインクロックを停止)のとき、CM06ビットが“1”(8分周モード)、CM15ビットが“1” (駆動能力HIGH)に固定されます。 注14. START端子の印加電圧により、リセット後の値は異なりますので注意してください。 図2.5.2. CM0レジスタ Rev.1.00 2004.03.01 page 41 of 311 M306H3MC-XXXFP/FCFP システムクロック制御レジスタ1(注1) b7 b6 b5 b4 b3 b2 b1 0 0 0 0 b0 シンボル CM1 ビットシンボル アドレス 000716番地 リセット後の値 001000002 ビット 機 能 RW CM10 名 全クロック停止制御ビット (注4、注5) 0 : クロック発振 1 : 全クロック停止(ストップモード) RW (b4-b1) 予約ビット “0”にしてください RW CM15 XIN-XOUT駆動能力選択ビット (注2) CM16 メインクロック分周比 選択ビット1(注3) 0 : LOW 1 : HIGH RW b7 b6 CM17 注1. 注2. 0 0 : 分周なしモード 0 1 : 2分周モード 1 0 : 4分周モード 1 1 : 16分周モード RW RW このレジスタは、PRCRレジスタのPRC0ビットを“1”(書き込み許可)にした後で書き換えてください。 高速モード、中速モードからストップモードへの移行時、または低速モードで、CM05ビットを“1”(メインクロック停止)にしたとき、 CM15ビットは“1”(駆動能力HIGH)になります。 注3. CM06ビットが“0”(CM16、CM17ビット有効)の場合、有効となります。 注4. CM10ビットが“1”(ストップモード)の場合、XOUTは“H”となり、内蔵している帰還抵抗は切り離されます。XCIN端子、 XCOUT端子は、ハイインピーダンスになります。 注5. PM2レジスタのPM21ビットが“1”(クロック変更禁止)の場合、CM10ビットに書いても変化しません。 図2.5.3. CM1レジスタ Rev.1.00 2004.03.01 page 42 of 311 M306H3MC-XXXFP/FCFP 周辺クロック選択レジスタ(注1) b7 b6 b5 b4 b3 b2 b1 b0 シンボル PCLKR 0 0 0 0 0 0 アドレス 025E16番地 リセット後の値 000000112 ビット名 ビットシンボル 機 能 タイマA、Bクロック選択ビット PCLK0 (タイマA、タイマBのクロック源) SI/Oクロック選択ビット PCLK1 (b7-b2) (UART0∼UART2、SI/O3、SI/O4 のクロック源) 予約ビット RW 0 : f2 1 : f1 RW 0 : f2SIO 1 : f1SIO RW “0”にしてください RW 注1. このレジスタは、PRCRレジスタのPRC0ビットを“1”(書き込み許可)にした後で書き換えてください。 プロセッサモードレジスタ2(注1) b7 b6 b5 b4 b3 0 0 0 b2 b1 シンボル PM2 アドレス 001E16番地 ビットシンボル ビット名 b0 0 リセット後の値 XXX000002 機 能 予約ビット “0”にしてください RW システムクロック保護ビット (注2、注3) 0 : PRCRレジスタでクロックを保護 1 : クロックの変更禁止 RW (b4-b2) 予約ビット “0”にしてください RW (b7-b5) 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 (b0) PM21 注1. このレジスタはPRCRレジスタのPRC1ビットを“1”(書き込み許可)にした後で書き換えてください。 注2. 一度“1”にすると、プログラムでは“0”にできません。 注3. PM21ビットを“1”にすると次のビットに書き込んでも変化しません。 CM0レジスタのCM02ビット CM0レジスタのCM05ビット(メインクロックは停止しない) CM0レジスタのCM07ビット(CPUクロックのクロック源は変化しない) CM1レジスタのCM10ビット(ストップモードに移行しない) 図2.5.4. PCLKR、PM2レジスタ Rev.1.00 2004.03.01 page 43 of 311 RW M306H3MC-XXXFP/FCFP 2.5.1 発振回路 クロック発生回路で生成するクロックを説明します。 クロック発生回路には、2つの発振回路が内蔵されており、リセット後START端子の設定により、CPU クロックとしてメインクロックまたはサブクロックを選択することができます。 (1) メインクロック メインクロック発振回路が供給するクロックです。CPUクロックと周辺機能クロックのクロック源 になります。メインクロック発振回路はXIN-XOUT端子間に発振子を接続することで発振回路が構成 されます。メインクロック発振回路には帰還抵抗が内蔵されており、ストップモード時には消費電力 を低減するため、発振回路から切り離されます。メインクロック発振回路には、外部で生成されたク ロックをXIN端子へ入力することもできます。図2.5.5にメインクロックの接続回路例を示します。 START端子が“H”の場合、リセット後は、メインクロックの8分周がCPUクロックになります(サ ブクロックは停止)。 CPUクロックのクロック源をサブクロックに切り替えた後、CM0レジスタのCM05ビットを“1”(メ インクロック発振回路の発振停止)にすると、消費電力を低減できます。この場合、XOUTは“H”に なります。また、内蔵している帰還抵抗はONしたままですので、XINは帰還抵抗を介してXOUTにプ ルアップされた状態となります。なお、外部で生成したクロックをXIN端子に入力している場合、CM05 を“1”にしてもサブクロックをCPUクロックに選択していない限り、メインクロックは停止しませ んので、必要な場合は外部でクロックを停止させてください。 ストップモード時は、メインクロックを含めたすべてのクロックが停止します。詳細は「パワーコ ントロール」を参照してください。 マイクロコンピュータ (帰還抵抗内蔵) マイクロコンピュータ (帰還抵抗内蔵) XIN XOUT XIN XOUT 開放 (注1) Rd 外部で生成されたクロック CIN COUT Vcc Vss 注1. 必要に応じてダンピング抵抗を挿入してください。抵抗値は発振子、発振駆動 能力によって異なりますので、発振子メーカの推奨する値に設定してください。 発振駆動能力をLOWで使用する場合には、LOWの状態でも安定して発振するか確 認してください。また、発振子メーカから外部に帰還抵抗を追加する旨の指示が あった場合は、その指示に従ってXIN、XOUT間に、帰還抵抗を付加してください。 図2.5.5. メインクロックの接続回路例 Rev.1.00 2004.03.01 page 44 of 311 M306H3MC-XXXFP/FCFP (2) サブクロック サブクロック発振回路が供給するクロックです。CPUクロックと、タイマA、タイマBのカウント ソースのクロック源になります。また、サブクロックと同一周波数のfcをCLKOUT端子から出力でき ます。 サブクロック発振回路は、XCIN-XCOUT端子間に水晶発振子を接続することで発振回路が構成され ます。サブクロック発振回路には帰還抵抗が内蔵されており、ストップモード時には消費電力を低減 するため、発振回路から切り離されます。サブクロック発振回路には、外部で生成されたクロックを XCIN端子へ入力することもできます。図2.5.6にサブクロックの接続回路例を示します。 START端子が“H”の場合、リセット後は、サブクロックは停止しています。このとき、帰還抵抗 は発振回路から切り離されています。 サブクロックの発振が安定した後、CM0レジスタのCM07ビットを“1”(サブクロック)にすると、 サブクロックがCPUクロックになります。 START端子が“L”の場合、リセット後は、サブクロック発振(XCIN)の8分周がCPUクロックになり ます(メインクロックは停止)。 この後、メインクロックを使用する場合は、図2.5.7に示す手順に従って移行してください。 ストップモード時、サブクロックを含めたすべてのクロックが停止します。詳細は「パワーコント ロール」を参照してください。 マイクロコンピュータ (帰還抵抗内蔵) XCIN マイクロコンピュータ (帰還抵抗内蔵) XCOUT XCIN XCOUT 開放 (注1) RCd 外部で生成されたクロック CCIN CCOUT Vcc Vss 注1. 必要に応じてダンピング抵抗を挿入してください。抵抗値は発振子、発振駆動 能力によって異なりますので、発振子メーカの推奨する値に設定してください。 発振駆動能力をLOWで使用する場合には、LOWの状態でも安定して発振するか確 認してください。また、発振子メーカから外部に帰還抵抗を追加する旨の指示が あった場合は、その指示に従ってXCIN、XCOUT間に、帰還抵抗を付加してください。 図2.5.6. サブクロックの接続回路例 Rev.1.00 2004.03.01 page 45 of 311 M306H3MC-XXXFP/FCFP リセット後、CPUクロックをサブクロックから メインクロックにする CM07ビットを“1”(サブクロック)にする CM05ビットを“0”(発振)にする メインクロックが安定するまで待つ CM07ビットを“0”(メインクロック)にする (注1) メインクロック分周比を設定する CM17∼CM16ビットを“002”, CM06ビットを“0” (CM16, CM17ビット有効)にする (注2) END 注1. メインクロックの発振が十分安定してから切り替えてください。 注2. メインクロック分周なし設定を示します。 CM17, CM16を変更した後、CM06を変更してください。 図2.5.7. リセット後、CPUクロック源をサブクロックからメインクロックにする手順 Rev.1.00 2004.03.01 page 46 of 311 M306H3MC-XXXFP/FCFP 2.5.2 CPUクロックと周辺機能クロック CPUを動作させるCPUクロックと周辺機能を動作させる周辺機能クロックがあります。 (1) CPUクロックとBCLK CPUと監視タイマの動作クロックです。 CPUクロックのクロック源としてメインクロック、または、サブクロックが選択できます。 CPUクロックのクロック源としてメインクロックを選択した場合、選択したクロックを1分周(分周 なし)、または2、4、8、16分周したものがCPUのクロックになります。分周はCM0レジスタのCM06 ビットとCM1レジスタのCM17∼CM16ビットで選択できます。 START端子を“H”にしてリセット解除すると、メインクロックの8分周がCPUクロックになります。 メモリ拡張モード時、マイクロプロセッサモード時、PM0レジスタのPM07ビットを“0”(出力する) にすると、BCLK端子からCPUクロックと同一周波数のBCLK信号を出力できます。 なお、高速モード、中速モードからストップモードへの移行時、または低速モードでCM0レジスタ のCM05ビットを“1”(停止)にしたとき、CM0レジスタのCM06ビットは“1”(8分周モード)になります。 (2) 周辺機能クロック(f1、f2、f8、f32、f1SIO、f2SIO、f8SIO、f32SIO、fAD、fC32) 周辺機能の動作クロックです。 fi(i=1、2、8、32)とfiSIOはメインクロックをi分周したクロックです。fiはタイマA、タイマBで、fiSIO はシリアルI/Oで使用します。f8とf32はCLKOUT端子から出力できます。 fADは、メインクロックをクロック源とし、A-D変換器で使用します。 CM0レジスタのCM02ビットを“1”(ウエイトモード時周辺機能クロックを停止する)にした後にWAIT 命令を実行した場合、または低消費電力モード時、fi、fiSIO、fADは停止します。 fC32はサブクロックをクロック源とし、タイマA、タイマBで使用します。fC32はサブクロックが供 給されているときに使用できます。 クロック出力機能 シングルチップモード時、CLKOUT端子からf8、f32、またはfCを出力できます。CM0レジスタのCM01 ∼CM00ビットで選択してください。 Rev.1.00 2004.03.01 page 47 of 311 M306H3MC-XXXFP/FCFP 2.5.3 パワーコントロール パワーコントロールには3つのモードがあります。なお、便宜上、ここでは、ウエイトモード、ストッ プモード以外の状態を通常動作モードと呼びます。 (1) 通常動作モード 通常動作モードには、さらに4つのモードに分けられます。 通常動作モードでは、CPUクロック、周辺機能クロックが共に供給されていますので、CPUも周辺 機能も動作します。CPUクロックの周波数を制御することで、パワーコントロールを行います。CPU クロックの周波数が大きいほど処理能力は上がり、小さいほど消費電力は小さくなります。また、不 要な発振回路を停止させると更に消費電力は小さくなります。 CPUクロックのクロック源を切り替えるとき、切り替え先のクロックが安定して発振している必要 があります。切り替え先がメインクロック、サブクロックの場合、プログラムで発振が安定するまで 待ち時間を取ってから移るようにしてください。 ■ 高速モード メインクロックの1分周がCPUクロックとなります。サブクロックが供給されている場合はfC32が タイマA、タイマBのカウントソースに使用できます。 ■ 中速モード メインクロックの2分周、4分周、8分周、または16分周がCPUクロックとなります。サブクロック が供給されている場合はfC32がタイマA、タイマBのカウントソースに使用できます。 ■ 低速モード サブクロックがCPUクロックとなります。周辺機能クロックのクロック源は、メインクロックで す。fC32がタイマA、タイマBのカウントソースに使用できます。 ■ 低消費電力モード 低速モードにした後、メインクロックを停止させた状態です。サブクロックがCPUクロックとな ります。fC32がタイマA、タイマBのカウントソースに使用できます。 このモードにすると同時にCM0レジスタのCM06ビットは“1”(8分周モード)になります。低消費 電力モードでは、CM06ビットを変更しないでください。したがって、次にメインクロックを動作さ せるときは中速(8分周)モードになります。 Rev.1.00 2004.03.01 page 48 of 311 M306H3MC-XXXFP/FCFP (2) ウエイトモード ウエイトモードではCPUクロックが停止しますので、CPUクロックで動作するCPUと監視タイマが 停止します。メインクロック、サブクロックは停止しませんので、これらのクロックを使用する周辺 機能は動作します。 ●周辺機能クロック停止機能 CM02ビットが“1”(ウエイトモード時、周辺機能クロックを停止する)の場合、ウエイトモード 時にf1、f2、f8、f32、f1SIO、f2SIO、f8SIO、f32SIO、fADが停止しますので、消費電力が低減できます。 fC32は停止しません。 ●ウエイトモードへの移行 WAIT命令を実行するとウエイトモードになります。 ●ウエイトモード時の端子の状態 表2.5.2にウエイトモード時の端子の状態を示します。 ●ウエイトモードからの復帰 _______ ハードウエアリセット、NMI割り込み、または周辺機能割り込みにより、ウエイトモードから復 帰します。 _______ ハードウエアリセットまたはNMI割り込みで復帰する場合、周辺機能割り込みのILVL2∼ILVL0ビッ トを“0002”(割り込み禁止)にした後、WAIT命令を実行してください。 周辺機能割り込みはCM02ビットの影響を受けます。CM02ビットが“0”(ウエイトモード時、周 辺機能クロックを停止しない)の場合は、すべての周辺機能割り込みがウエイトモードから復帰に使 用できます。CM02ビットが“1”(ウエイトモード時、周辺機能クロックを停止する)の場合は、周 辺機能クロックを使用する周辺機能は停止しますので、外部信号によって動作する周辺機能の割り 込みがウエイトモードから復帰に使用できます。 Rev.1.00 2004.03.01 page 49 of 311 M306H3MC-XXXFP/FCFP 表2.5.2. ウエイトモード時の端子の状態 端 子 _______ _______ A0∼A19、D0∼D15、CS0∼CS3、 ________ BHE ______ _______ _________ _________ RD、WR、WRL、WRH ___________ HLDA、BCLK ALE 入出力ポート CLKOUT fC選択時 f8、f32選択時 メモリ拡張モード マイクロプロセッサモード ウエイトモードに入る直前の状態を保持 シングルチップモード “H” “H” “H” ウエイトモードに入る直前の状態を保持 ウエイトモードに入る直前の状態を保持 停止しません CM02ビットが“0”のとき 停止しません CM02ビットが“1”のとき ウエイトモードに入る直前の状態を保持 表2.5.3. ウエイトモードからの復帰に使用できる割り込み 割り込み NMI割り込み シリアルI/O割り込み CM02=0の場合 使用可 内部クロック、外部クロック で使用可 CM02=1の場合 使用可 外部クロックで使用可 キー入力割り込み A-D変換割り込み 使用可 単発モードまたは単掃引モード で使用可 使用可 (使用しないでください) タイマA割り込み タイマB割り込み すべてのモードで使用可 イベントカウンタモードまたは カウントソースがfC32のとき 使用可 INT割り込み 使用可 使用可 表2.5.3にウエイトモードからの復帰に使用できる割り込みと使用条件を示します。 ウエイトモードからの復帰に周辺機能割り込みを使用する場合、WAIT命令実行前に次の設定をしてく ださい。 (1)ウエイトモードからの復帰に使用する周辺機能割り込みの割り込み制御レジスタのILVL2∼ILVL0 ビットに割り込み優先レベルを設定する。 また、ウエイトモードからの復帰に使用しない周辺機能割り込みのILVL2∼ILVL0ビットをすべて“0002” (割り込み禁止)にする。 (3) Iフラグを“1”にする。 (4) ウエイトモードからの復帰に使用する周辺機能を動作させる。 周辺機能割り込みで復帰する場合、割り込み要求が発生してCPUクロックの供給を開始すると、割 り込みルーチンを実行します。 周辺機能割り込みでウエイトモードから復帰したときのCPUクロックは、WAIT命令実行時のCPUクロッ クと同じクロックです。 Rev.1.00 2004.03.01 page 50 of 311 M306H3MC-XXXFP/FCFP (3) ストップモード ストップモードでは、すべての発振が停止します。したがって、CPUクロックと周辺機能クロック も停止し、これらのクロックで動作するCPU、周辺機能は停止します。消費電力がもっとも少ないモー ドです。なお、VCC端子に印加する電圧がVRAM以上のとき、内部RAMは保持されます。 また、外部信号によって動作する周辺機能は動作します。ストップモードからの復帰に使用できる 割り込みは次のとおりです。 _______ ・NMI割り込み ・キー入力割り込み _______ ・INT割り込み ・タイマA、タイマBの割り込み(イベントカウンタモードで外部パルスをカウント時) ・シリアルI/Oの割り込み(外部クロック選択時) 拡張機能(データスライス機能/ハミング機能)の内部発振回路は拡張レジスタXTAL_VCO, PDC_VCO_ON, VPS_VCO_ONに“0”を書き込むと発振停止を行います。 ●ストップモードへの移行 CM1レジスタのCM10ビットを“1”(全クロック停止)にすると、ストップモードになります。同 時にCM0レジスタのCM06ビットは“1”(8分周モード)、CM10レジスタのCM15ビットは“1”(メイ ンクロック発振回路の駆動能力HIGH)になります。 ●ストップモード時の端子の状態 表2.5.4にストップモード時の端子の状態を示します。 ●ストップモードからの復帰 _______ ハードウエアリセット、NMI割り込み、または周辺機能割り込みにより、ストップモードから復 帰します。 _______ ハードウエアリセットまたはNMI割り込みで復帰する場合、周辺機能割り込みのILVL2∼ILVL0ビッ トをすべて“0002”(割り込み禁止)にした後、CM10ビットを“1”にしてください。 周辺機能割り込みで復帰する場合は、次の設定をした後、CM10ビットを“1”にしてください。 (1) ストップモードからの復帰に使用する周辺機能割り込みのILVL2∼ILVL0ビットに割り込み優先レ ベルを設定する。 また、ストップモードからの復帰に使用しない周辺機能割り込みのILVL2∼ILVL0ビットをすべて“0002” (割り込み禁止)にする。 (3) Iフラグを“1”にする。 (4) ストップモードからの復帰に使用する周辺機能を動作させる。 周辺機能割り込みで復帰する場合、割り込み要求が発生して、CPUクロックの供給が開始されると 割り込みルーチンを実行します。 _______ 周辺機能割り込み、またはNMI割り込みでストップモードから復帰した場合のCPUクロックは、ストッ プモード移行前のCPUクロックにしたがって、次のようになります。 ストップモード移行前のCPUクロックがサブクロックの場合 :サブクロック ストップモード移行前のCPUクロックがメインクロックの場合 :メインクロックの8分周 Rev.1.00 2004.03.01 page 51 of 311 M306H3MC-XXXFP/FCFP 表2.5.4. ストップモード時の端子の状態 端 子 _______ _______ A0∼A19、D0∼D15、CS0∼CS3、 ________ BHE ______ _______ _________ _________ RD、WR、WRL、WRH ___________ HLDA、BCLK ALE 入出力ポート CLKOUT fC選択時 f8、f32選択時 Rev.1.00 2004.03.01 page 52 of 311 メモリ拡張モード マイクロプロセッサモード ストップモードに入る直前の状態を保持 シングルチップモード “H” “H” “H” ストップモードに入る直前の状態を保持 ストップモードに入る直前の状態を保持 “H” ストップモードに入る直前の状態を保持 M306H3MC-XXXFP/FCFP 図2.5.8に通常動作モードからのストップモード、ウエイトモードへの状態遷移を示します。 図2.5.9に通常動作モードの状態遷移を示します。 リセット 発振はすべて停止 CM10=1 WAIT命令 中速モード (8分周モード) ストップモード 割り込み CM07=0 CM06=1 CM05=0 CM10=1 (注2) 割り込み 割り込み WAIT命令 ストップモード ウエイトモード 高速モード、中速モード 割り込み CM10=1 低消費電力 モード時 低速 モード時 CM10=1 WAIT命令 ストップモード ウエイトモード 低速モード、低消費電力モード 割り込み 割り込み 通常動作モード 注1. 上図はPM2レジスタのPM21ビットが“0”(システムクロック保護機能を使用しない)の場合です。 注2. CM0, CM1レジスタへは、ワードアクセスにより同時に書いてください。 図2.5.8. ストップモード、ウエイトモード状態遷移 メインクロック発振 高速モード CPUクロック: f(XIN) 中速モード(2分周) CPUクロック: f(XIN)/2 中速モード(4分周) CPUクロック: f(XIN)/4 CM07=0 CM07=0 CM07=0 CM06=0 CM06=0 CM06=0 CM17=0 CM17=0 CM17=1 CM16=0 CM16=1 CM16=0 中速モード(8分周) CPUクロック: f(XIN)/8 CM07=0 CM06=1 CM04=1 高速モード CPUクロック: f(XIN) 中速モード(2分周) CPUクロック: f(XIN)/2 中速モード(4分周) CPUクロック: f(XIN)/4 CM07=0 CM07=0 CM07=0 CM06=0 CM06=0 CM06=0 CM17=0 CM17=0 CM17=1 CM16=0 CM16=1 CM16=0 中速モード(8分周) CPUクロック: f(XIN)/8 CM07=0 CM06=1 CM07=0 注1、注3 低速モード CPUクロック: f(XCIN) CM07=0 CM05=1 CM05=0 低消費電力モード CPUクロック: f(XCIN) CM07=0 CM06=1 CM15=1 サブクロック発振 注1. メインクロックの発振が十分安定してから切り替えてください。 注2 サブクロックの発振が十分安定してから切り替えてください。 注3. CM17、CM16を変更した後、CM06を変更してください。 注4. 矢印の方向に従って遷移してください。 図2.5.9. 通常動作モード状態遷移 2004.03.01 page 53 of 311 中速モード(16分周) CPUクロック: f(XIN)/16 CM07=0 CM06=0 CM17=1 CM16=1 CM04=0 CM07=1 注2 Rev.1.00 CPUの動作停止 ウエイトモード 中速モード(16分周) CPUクロック: f(XIN)/16 CM07=0 CM06=0 CM17=1 CM16=1 M306H3MC-XXXFP/FCFP 2.5.4 システムクロック保護機能 CPUクロックのクロック源にメインクロックを選択しているとき、暴走でCPUクロックが停止しない ようにクロックの変更を禁止する機能です。 PM2レジスタのPM21ビットを“1” (クロックの変更禁止)にすると、次のビットに書き込めなくなり ます。 ・CM0レジスタのCM02ビット、CM05ビット、CM07ビット ・CM1レジスタのCM10ビット、CM11ビット システムクロック保護機能を使用する場合、CM0レジスタのCM05ビットが“0”(メインクロック発振)、 CM07ビットが“0”(CPUクロックのクロック源はメインクロック)の状態で次の処理をしてください。 (1)PRCRレジスタのPRC1ビットを“1”(PM2レジスタ書き込み許可)にする (2)PM2レジスタのPM21ビットを“1” (クロック変更禁止)にする (3)PRCRレジスタのPRC1ビットを“0”(PM2レジスタ書き込み禁止)にする PM21ビットが“1”のとき、WAIT命令を実行しないでください。 Rev.1.00 2004.03.01 page 54 of 311 M306H3MC-XXXFP/FCFP 2.6 プロテクト プロテクトはプログラムが暴走したときに備え、重要なレジスタは簡単に書き換えられないように保 護する機能です。図2.6.1にPRCRレジスタを示します。PRCRレジスタが保護するレジスタは次のとおり です。 ・PRC0ビットで保護されるレジスタ :CM0、CM1、PCLKRレジスタ ・PRC1ビットで保護されるレジスタ :PM0、PM1、PM2レジスタ ・PRC2ビットで保護されるレジスタ :PD9、S3C、S4Cレジスタ PRC2ビットを“1”(書き込み許可状態)にした後、任意の番地に書き込みを実行すると“0”(書き込み 禁止状態)になります。PRC2ビットで保護されるレジスタはPRC2ビットを“1”にした次の命令で変更し てください。PRC2ビットを“1”にする命令と次の命令の間に割り込みやDMA転送が入らないようにし てください。PRC0、PRC1ビットは任意の番地に書き込みを実行しても“0”になりませんのでプログラ ムで“0”にしてください。 プロテクトレジスタ b7 b6 b5 b4 0 0 0 b3 b2 b1 b0 シンボル PRCR ビットシンボル PRC0 アドレス 000A16番地 ビット名 プロテクトビット0 リセット後の値 XX0000002 機 能 RW CM0、CM1、 PCLKRレジスタへの書き込み 許可 RW 0:書き込み禁止 1:書き込み許可 PRC1 プロテクトビット1 PM0、PM1、PM2レジスタへの 書き込み許可 0:書き込み禁止 1:書き込み許可 PRC2 (b5-b3) (b7-b6) プロテクトビット2 予約ビット RW PD9、S3C、S4Cレジスタへの 書き込み許可 0:書き込み禁止 1:書き込み許可(注1) RW “0”にしてください RW 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 注1. PRC2ビットは“1”を書き込んだ後、任意の番地に書き込みを実行すると“0”になります。他のビットは“0”になり ませんので、プログラムで“0”にしてください。 図2.6.1. PRCRレジスタ Rev.1.00 2004.03.01 page 55 of 311 M306H3MC-XXXFP/FCFP 2.7 割り込み 2.7.1 割り込みの分類 図2.7.1に割り込みの分類を示します。 (ノンマスカブル割り込み) ハードウエア 特殊 割り込み ソフトウエア (ノンマスカブル割り込み) 未定義命令(UND命令) オーバフロー(INTO命令) BRK命令 INT命令 _______ NMI DBC(注2) 監視タイマ シングルステップ(注2) アドレス一致 ________ 周辺機能(注1) (マスカブル割り込み) 注1. 周辺機能割り込みは、マイクロコンピュータ内部の周辺機能による割り込みです。 注2. 開発サポートツール専用の割り込みですので、使用しないでください。 図2.7.1. 割り込みの分類 Rev.1.00 ●マスカブル割り込み : 割り込み許可フラグ(Iフラグ)による割り込みの許可(禁止)や割り 込み優先レベルによる割り込み優先順位の変更が可 可能 ●ノンマスカブル割り込み : 割り込み許可フラグ(Iフラグ)による割り込みの許可(禁止)や割り 込み優先レベルによる割り込み優先順位の変更が不 不可能 2004.03.01 page 56 of 311 M306H3MC-XXXFP/FCFP 2.7.2 ソフトウエア割り込み ソフトウエア割り込みは、命令の実行によって発生します。ソフトウエア割り込みはノンマスカブル 割り込みです。 ●未定義命令割り込み 未定義命令割り込みは、UND命令を実行すると発生します。 ●オーバフロー割り込み オーバフロー割り込みは、Oフラグが“1”(演算の結果がオーバフロー)の場合、INTO命令を実行 すると発生します。演算によってOフラグが変化する命令は次のとおりです。 ABS、ADC、ADCF、ADD、CMP、DIV、DIVU、DIVX、NEG、RMPA、SBB、SHA、SUB ●BRK割り込み BRK割り込みは、BRK命令を実行すると発生します。 ●INT命令割り込み INT命令割り込みは、INT命令を実行すると発生します。INT命令で指定できるソフトウエア割り込 み番号は0∼63です。ソフトウエア割り込み番号4∼31は周辺機能割り込みに割り当てられますので、 INT命令を実行することで周辺機能割り込みと同じ割り込みルーチンを実行できます。 ソフトウエア割り込み番号0∼31では、命令実行時にUフラグを退避し、Uフラグを“0”(ISPを選択) にした後、割り込みシーケンスを実行します。割り込みルーチンから復帰するときに退避しておいた Uフラグを復帰します。ソフトウエア割り込み番号32∼63では、命令実行時Uフラグは変化せず、そ のとき選択されているSPを使用します。 Rev.1.00 2004.03.01 page 57 of 311 M306H3MC-XXXFP/FCFP 2.7.3 ハードウエア割り込み ハードウエア割り込みには、特殊割り込みと周辺機能割り込みがあります。 ●特殊割り込み 特殊割り込みは、ノンマスカブル割り込みです。 _______ (1) NMI割り込み _________ ________ _________ NMI割り込みは、NMI端子の入力が“H”から“L”に変化すると発生します。NMI割り込みの詳 _________ 細は「NMI割り込み」を参照してください。 ________ (2) DBC割り込み 開発サポートツール専用の割り込みですので、使用しないでください。 (3) 監視タイマ割り込み 監視タイマによる割り込みです。監視タイマ割り込み発生後は、監視タイマを初期化してくださ い。監視タイマの詳細は「監視タイマ」を参照してください。 (4) シングルステップ割り込み 開発サポートツール専用の割り込みですので、使用しないでください。 (5) アドレス一致割り込み アドレス一致割り込みは、AIERレジスタのAIER0ビット、AIER1ビット、AIER2レジスタのAIER20 ビット、AIER21ビットのうち、いずれか1つが“1”(アドレス一致割り込み許可)の場合、対応する RMAD0∼RMAD3レジスタで示される番地の命令を実行する直前に発生します。 アドレス一致割り込みの詳細は「アドレス一致割り込み」を参照してください。 ● 周辺機能割り込み 周辺機能割り込みは、マイクロコンピュータ内部の周辺機能による割り込みです。周辺機能割り込 みは、マスカブル割り込みです。周辺機能割り込みの割り込み要因は「表2.7.2 可変ベクタテーブル」 を参照してください。 また、周辺機能の詳細は各周辺機能の説明を参照してください。 Rev.1.00 2004.03.01 page 58 of 311 M306H3MC-XXXFP/FCFP 2.7.4 割り込みと割り込みベクタ 1ベクタは4バイトです。各割り込みベクタには、割り込みルーチンの先頭番地を設定してください。 割り込み要求が受け付けられると、割り込みベクタに設定した番地へ分岐します。図2.7.2に割り込みベ クタを示します。 MSB ベクタ番地(L) LSB アドレスの下位 アドレスの中位 ベクタ番地(H) 0000 アドレスの上位 0000 0000 図2.7.2. 割り込みベクタ ●固定ベクタテーブル 固定ベクタテーブルは、FFFDC16番地からFFFFF16番地に配置されています。表2.7.1に固定ベクタ テーブルを示します。フラッシュメモリ版では、固定ベクタのベクタ番地(H)をIDコードチェック機 能で使用します。詳細は「内蔵フラッシュメモリ書き換え禁止機能」を参照してください。 表2.7.1. 固定ベクタテーブル 割り込み要因 未定義命令 オーバフロー BRK命令 ベクタ番地 番地(L)∼番地(H) FFFDC16 ∼ FFFDF16 FFFE016 ∼ FFFE316 FFFE416 ∼ FFFE716 備考 UND命令で割り込み INTO命令で割り込み FFFE716番地の内容がFF16の 場合は可変ベクタテーブル内 のベクタが示す番地から実行 アドレス一致 FFFE816 ∼ FFFEB16 シングルステップ(注1) FFFEC16 ∼ FFFEF16 監視タイマ FFFF016 ∼ FFFF316 _________ DBC(注1) FFFF416 ∼ FFFF716 ________ NMI FFFF816 ∼ FFFFB16 リセット FFFFC16 ∼ FFFFF16 注1. 開発サポートツール専用の割り込みですので、使用しないでください。 Rev.1.00 2004.03.01 page 59 of 311 参照先 M16C/60、M16C/20 シリーズ ソフトウエア マニュアル アドレス一致割り込み 監視タイマ ________ NMI割り込み リセット M306H3MC-XXXFP/FCFP ●可変ベクタテーブル INTBレジスタに設定された先頭番地から256バイトが可変ベクタテーブルの領域となります。表2.7.2 に可変ベクタテーブルを示します。INTBレジスタに偶数番地を設定すると、奇数番地の場合に比べ て割り込みシーケンスが速く実行できます。 AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA 表2.7.2. 可変ベクタテーブル 割り込み要因 BRK命令(注5) ベクタ番地(注1) 番地(L)∼番地(H) +0∼+3(000016 ∼000316) (予約) ソフトウエア 割り込み番号 0 1∼3 参照先 M16C/60、M16C/20シリーズ ソフトウエアマニュアル INT3 +16∼+19(001016 ∼001316) 4 INT割り込み タイマB5/SLICE ON (注7) +20∼+23(001416 ∼001716) 5 タイマ タイマB4/リモコン、UART1バス衝突検出 (注4、注6、注7) +24∼+27(001816 ∼001B16) 6 タイマB3/HINT、UART0バス衝突検出 (注4、注6、注7) +28∼+31(001C16 ∼001F16) 7 タイマ シリアルI/O 8 SI/O4、INT5 (注2) +32∼+35(002016 ∼002316) SI/O3、INT4 (注2) +36∼+39(002416 ∼002716) 9 INT割り込み シリアルI/O UART2バス衝突検出 +40∼+43(002816 ∼002B16) 10 シリアルI/O DMA0 +44∼+47 (002C16∼002F16) 11 DMA1 +48∼+51 (003016∼003316) 12 キー入力割り込み +52∼+55 (003416∼003716) 13 キー入力割り込み A-D +56∼+59 (003816∼003B16) 14 A-D変換器 UART2送信、NACK2 (注3) +60∼+63 (003C16∼003F16) 15 (注3) +64∼+67 (004016∼004316) 16 UART0送信、NACK0 (注3) +68∼+71 (004416∼004716) 17 (注3) +72∼+75 (004816∼004B16) 18 UART1送信、NACK1 (注3) +76∼+79 (004C16∼004F16) 19 (注3) UART2受信、ACK2 UART0受信、ACK0 UART1受信、ACK1 +80∼+83 (005016∼005316) 20 タイマA0 +84∼+87 (005416∼005716) 21 タイマA1 +88∼+91 (005816∼005B16) 22 タイマA2 +92∼+95 (005C16∼005F16) 23 タイマA3 +96∼+99 (006016∼006316) 24 タイマA4 +100∼+103 (006416∼006716) 25 タイマB0 +104∼+107 (006816∼006B16) 26 タイマB1 +108∼+111 (006C16∼006F16) 27 タイマB2 +112∼+115 (007016∼007316) 28 INT0 +116∼+119 (007416∼007716) 29 INT1 +120∼+123 (007816∼007B16) 30 INT2 +124∼+127 (007C16∼007F16) 31 +128∼+131 (008016∼008316) 32 +252∼+255 (00FC16∼00FF16) ∼ ∼ ソフトウエア割り込み(注5) 63 DMAC シリアルI/O タイマ INT割り込み M16C/60、M16C/20シリーズ ソフトウエアマニュアル 注1. INTBレジスタが示す番地からの相対番地です。 注2. IFSRレジスタのIFSR6、7ビットで選択してください。 注3. I2Cモード時にNACK、ACKが割り込み要因になります。 注4. IFSR2AレジスタのIFSR26、27ビットで選択してください。 注5. Iフラグによる禁止はできません。 注6. バス衝突検出:IEモード時はバス衝突検出が割り込み要因になります。 I2Cモード時はスタートコンディション検出、ストップコンディション検出が割り込み要因になります。 注7. SLICEON、リモコン、HINT割り込みを使用する場合は、「2.14 拡張機能」の拡張レジスタの3616番地を参照してください。 Rev.1.00 2004.03.01 page 60 of 311 M306H3MC-XXXFP/FCFP 2.7.5 割り込み制御 マスカブル割り込みの許可、禁止、受け付ける優先順位の設定について説明します。ここで説明する 内容は、ノンマスカブル割り込みには該当しません。 マスカブル割り込みの許可、禁止は、FLGレジスタのIフラグ、IPL、各割り込み制御レジスタのILVL2 ∼ILVL0ビットで行います。また、割り込み要求の有無は、各割り込み制御レジスタのIRビットに示さ れます。 図2.7.3に割り込み制御レジスタを示します。 Rev.1.00 2004.03.01 page 61 of 311 M306H3MC-XXXFP/FCFP 割り込み制御レジスタ(注2) b7 b6 b5 b4 b3 b2 b1 b0 シンボル TB5IC TB4IC/U1BCNIC(注3) TB3IC/U0BCNIC(注3) BCNIC DM0IC、DM1IC KUPIC ADIC S0TIC∼S2TIC S0RIC∼S2RIC TA0IC∼TA4IC TB0IC∼TB2IC ビット名 ビットシンボル ILVL0 割り込み優先レベル 選択ビット ILVL1 ILVL2 IR (b7-b4) アドレス 004516番地 004616番地 004716番地 004A16番地 004B16、004C16番地 004D16番地 004E16番地 005116、005316、004F16番地 005216、005416、005016番地 005516∼005916番地 005A16∼005C16番地 割り込み要求ビット リセット後の値 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 XXXXX0002 機 能 RW b2 b1 b0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 :レベル0(割り込み禁止) 1 :レベル1 0 :レベル2 1 :レベル3 0 :レベル4 1 :レベル5 0 :レベル6 1 :レベル7 0:割り込み要求なし 1:割り込み要求あり RW RW RW RW (注1) 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 注1. IRビットは“0”のみ書けます(“1”を書かないでください)。 注2. 割り込み制御レジスタの変更は、そのレジスタに対応する割り込み要求が発生しない箇所で行ってください。 詳細は、「割り込みの注意事項」を参照してください。 注3. IFSR2Aレジスタで選択してください。 b7 b6 b5 b4 b3 b2 b1 b0 シンボル INT3IC(注4) S4IC/INT5IC S3IC/INT4IC INT0IC∼INT2IC 0 ビットシンボル ILVL0 アドレス 004416番地 004816番地 004916番地 005D16∼005F16番地 ビット名 割り込み優先レベル 選択ビット ILVL1 ILVL2 IR POL 割り込み要求ビット 極性切り替えビット 予約ビット (b7-b6) リセット後の値 XX00X0002 XX00X0002 XX00X0002 XX00X0002 機 能 RW b2 b1 b0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 :レベル0(割り込み禁止) 1 :レベル1 0 :レベル2 1 :レベル3 0 :レベル4 1 :レベル5 0 :レベル6 1 :レベル7 RW RW RW 0:割り込み要求なし 1:割り込み要求あり RW 0:立ち下がりエッジを選択 (注3、注5) 1:立ち上がりエッジを選択 RW “0”にしてください RW (注1) 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 注1. IRビットは“0”のみ書けます(“1”を書かないでください)。 注2. 割り込み制御レジスタの変更は、そのレジスタに対応する割り込み要求が発生しない箇所で行ってください。 詳細は、「割り込みの注意事項」を参照してください。 注3. IFSRレジスタのIFSRiビット(i=0∼5)が“1”(両エッジ)の場合、INTiICレジスタのPOLビットを“0” (立ち下がりエッジ)にしてください。 注4. メモリ拡張モード、マイクロプロセッサモード時はINT3ICレジスタのILVL2∼ILVL0ビットを“000 2”(割り込み禁止) にしてください。 注5. IFSRレジスタのIFSR6ビットが“0”(SI/O3選択)時はS3ICレジスタの、IFSR7ビットが“0”(SI/O4選択)時は S4ICレジスタのPOLビットを“0”(立ち下がりエッジ)にしてください。 図2.7.3. 割り込み制御レジスタ Rev.1.00 2004.03.01 page 62 of 311 M306H3MC-XXXFP/FCFP Iフラグ Iフラグは、マスカブル割り込みを許可または禁止します。Iフラグを“1”(許可)にすると、マスカブ ル割り込みは許可され、“0”(禁止)にするとすべてのマスカブル割り込みは禁止されます。 IRビット IRビットは割り込み要求が発生すると、“1”(割り込み要求あり)になります。割り込み要求が受け付 けられ、対応する割り込みベクタに分岐した後、IRビットは“0”(割り込み要求なし)になります。 IRビットはプログラムによって“0”にできます。“1”を書かないでください。 ILVL2∼ILVL0ビット、IPL 割り込み優先レベルは、ILVL2∼ILVL0ビットで設定できます。 表2.7.3に割り込み優先レベルの設定、表2.7.4にIPLにより許可される割り込み優先レベルを示します。 割り込み要求が受け付けられる条件を次に示します。 ・Iフラグ = 1 ・IRビット = 1 ・割り込み優先レベル > IPL Iフラグ、IRビット、ILVL2∼ILVL0ビット、IPLはそれぞれ独立しており、互いに影響を与えることは ありません。 表2.7.3. 割り込み優先レベルの設定 ILVL2∼ILVL0ビット Rev.1.00 割り込み優先レベル 000 2 レベル0 (割り込み禁止) 001 2 レベル1 010 2 表2.7.4. IPLにより許可される割り込み優先レベル 優先順位 IPL 許可される割り込み優先レベル 000 2 レベル1以上を許可 001 2 レベル2以上を許可 レベル2 010 2 レベル3以上を許可 011 2 レベル3 011 2 レベル4以上を許可 100 2 レベル4 100 2 レベル5以上を許可 101 2 レベル5 101 2 レベル6以上を許可 110 2 レベル6 110 2 レベル7以上を許可 111 2 レベル7 111 2 すべてのマスカブル割り込みを禁止 2004.03.01 page 63 of 311 低い 高い M306H3MC-XXXFP/FCFP 2.7.6 割り込みシーケンス 割り込み要求が受け付けられてから割り込みルーチンが実行されるまでの、割り込みシーケンスにつ いて説明します。 命令実行中に割り込み要求が発生すると、その命令の実行終了後に優先順位が判定され、次のサイク ルから割り込みシーケンスに移ります。ただし、SMOVB、SMOVF、SSTR、RMPAの各命令は、命令実 行中に割り込み要求が発生すると、命令の動作を一時中断し割り込みシーケンスに移ります。 割り込みシーケンスでは、次のように動作します。図2.7.4に割り込みシーケンスの実行時間を示しま す。 (1) 0000016番地を読むことで、CPUは割り込み情報(割り込み番号、割り込み要求レベル)を獲得しま す。その後、該当する割り込みのIRビットが“0”(割り込み要求なし)になります。 (2) 割り込みシーケンス直前のFLGレジスタをCPU内部の一時レジスタ(注1)に退避します。 (3) FLGレジスタのうち、Iフラグ、Dフラグ、Uフラグは次のようになります。 Iフラグは“0”(割り込み禁止) Dフラグは“0”(シングルステップ割り込みは割り込み禁止) Uフラグは“0”(ISPを指定) ただしUフラグは、ソフトウエア割り込み番号32∼63のINT命令を実行した場合は変化しません。 (4) CPU内部の一時レジスタ(注1)をスタックに退避します。 (5) PCをスタックに退避します。 (6) IPLに、受け付けた割り込みの割り込み優先レベルを設定します。 (7) 割り込みベクタに設定された割り込みルーチンの先頭番地がPCに入ります。 割り込みシーケンス終了後は、割り込みルーチンの先頭番地から命令を実行します。 注1. ユーザは使用できません。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 CPUクロック 0000016番地 アドレスバス データバス 割り込み情報 RD 不定(注1) 不定(注1) SP-2 SP-2の内容 SP-4 SP-4の内容 vec vecの内容 vec+2 vec+2の内容 不定(注1) WR(注2) 注1.不定の部分は命令キューバッファに依存します。命令キューバッファが命令を取れる状態だとリードサイクルが発生します。 注2.WR信号は、スタックを内部RAMに配置した場合のタイミングを示しています。 図2.7.4. 割り込みシーケンスの実行時間 Rev.1.00 2004.03.01 page 64 of 311 PC M306H3MC-XXXFP/FCFP 割り込み応答時間 図2.7.5に割り込み応答時間を示します。割り込み応答時間は、割り込み要求が発生してから割り込み ルーチン内の最初の命令を実行するまでの時間です。この時間は、割り込み要求発生時点から、そのと き実行している命令が終了するまでの時間(図2.7.5の(a))と割り込みシーケンスを実行する時間(図2.7.5の (b))で構成されます。 割り込み要求発生 割り込み要求受付 時間 命令 割り込みシーケンス (a) 割り込みルーチン内 の命令 (b) 割り込み応答時間 (a) 割り込み要求発生時点からそのとき実行している命令が終了するまでの時間。実行している命令 によって異なります。この時間が最も長くなる命令はDIVX命令で30サイクル(ウエイトなし、除数 がレジスタの場合のサイクル数)です。 (b) 割り込みシーケンスを実行する時間。次の表を参照してください。なお、DBC割り込みは+2 サイクル、アドレス一致割り込み、シングルステップ割り込みは+1サイクルしてください。 割り込みベクタの番地 SPの値 16ビットバス、ウエイトなし 8ビットバス、ウエイトなし 偶数 偶数 18サイクル 20サイクル 偶数 奇数 19サイクル 20サイクル 奇数 偶数 19サイクル 20サイクル 奇数 奇数 20サイクル 20サイクル 図2.7.5. 割り込み応答時間 割り込み要求受付時のIPLの変化 マスカブル割り込みの割り込み要求が受け付けられると、IPLには受け付けた割り込みの割り込み優先 レベルが設定されます。 ソフトウエア割り込みと特殊割り込み要求が受け付けられると表2.7.5に示す値がIPLに設定されます。 表2.7.5にソフトウエア割り込み、特殊割り込み受け付け時のIPLの値を示します。 表2.7.5. ソフトウエア割り込み、特殊割り込み受け付け時のIPLの値 割り込み要因 設定される IPL の値 _______ 監視タイマ、NMI 7 ________ ソフトウエア、アドレス一致、DBC、シングルステップ Rev.1.00 2004.03.01 page 65 of 311 変化しない M306H3MC-XXXFP/FCFP レジスタ退避 割り込みシーケンスでは、FLGレジスタとPCをスタックに退避します。 スタックへはPCの上位4ビットとFLGレジスタの上位4ビット(IPL)、下位8ビットの合計16ビットをま ず退避し、次にPCの下位16ビットを退避します。図2.7.6に割り込み要求受付前と後のスタックの状態を 示します。 その他の必要なレジスタは、割り込みルーチンの最初でプログラムによって退避してください。PUSHM 命令を用いると、1命令でSPを除くすべてのレジスタを退避できます。 番地 スタック MSB スタック 番地 LSB MSB LSB mー4 mー4 PCL mー3 mー3 PCM mー2 mー2 FLGL mー1 mー1 m 前スタックの内容 m+1 前スタックの内容 [SP] 割り込みが発生する前の SPの値 FLGH [SP] 新しいSPの値 PCH m 前スタックの内容 m+1 前スタックの内容 割り込み要求受け付け後のスタックの状態 割り込み要求受け付け前のスタックの状態 図2.7.6. 割り込み要求受け付け前と後のスタックの状態 割り込みシーケンスで行われるレジスタ退避動作は、割り込み要求受け付け時のSP(注1)が偶数の場合 と奇数の場合で異なります。SP(注1)が偶数の場合は、FLGレジスタ、PCがそれぞれ16ビット同時に退避 されます。奇数の場合は、8ビットずつ2回に分けて退避されます。図2.7.7にレジスタ退避動作を示しま す。 注1. ソフトウエア番号32∼63のINT命令を実行した場合は、Uフラグが示すSPです。それ以外は、ISP です。 (1)SPが偶数の場合 番地 (2)SPが奇数の場合 退避順序 スタック [SP]ー5 (奇数) 番地 スタック 退避順序 [SP]ー5 (偶数) [SP]ー4 (偶数) PCL [SP]ー4 (奇数) PCL (3) [SP]ー3 (偶数) PCM (4) [SP]ー2 (奇数) FLGL (1) (2) 16ビット同時 [SP]ー3 (奇数) PCM [SP]ー2 (偶数) FLGL に退避 (1) 16ビット同時 [SP]ー1 (奇数) [SP] FLGH PCH に退避 (偶数) [SP]ー1 (偶数) [SP] FLGH 図2.7.7. レジスタ退避動作 Rev.1.00 2004.03.01 page 66 of 311 (2) (奇数) 2回で退避を完了 注1. [SP]は割り込み要求受け付け時点でのSPの初期値です。 レジスタ退避終了後、SPの内容は[SP]ー4となります。 PCH 8ビットずつ 退避 4回で退避を完了 M306H3MC-XXXFP/FCFP 割り込みルーチンからの復帰 割り込みルーチンの最後でREIT命令を実行すると、スタックに退避していた割り込みシーケンス直前 のFLGレジスタとPCが復帰します。その後、割り込み要求受け付け前に実行していたプログラムに戻り ます。 割り込みルーチン内でプログラムによって退避したレジスタは、REIT命令実行前にPOPM命令などを 使用して復帰してください。 割り込み優先順位 1命令実行中に2つ以上の割り込み要求が発生した場合は、優先順位の高い割り込みが受け付けられま す。 マスカブル割り込み(周辺機能)の優先レベルは、ILVL2∼ILVL0ビットによって任意に選択できます。 ただし、割り込み優先レベルが同じ設定値の場合は、ハードウエアで設定されている優先順位の高い割 り込みが受け付けられます。 監視タイマ割り込みなど、特殊割り込みの優先順位はハードウエアで設定されています。図2.7.8にハー ドウエア割り込みの割り込み優先順位を示します。 ソフトウエア割り込みは割り込み優先順位の影響を受けません。命令を実行すると割り込みルーチン を実行します。 リセット 高 NMI DBC 監視タイマ 周辺機能 シングルステップ アドレス一致 低 図2.7.8. ハードウエア割り込みの割り込み優先順位 割り込み優先レベル判定回路 割り込み優先レベル判定回路は、最も優先順位の高い割り込みを選択するための回路です。 図2.7.9に割り込み優先レベルの判定回路を示します。 Rev.1.00 2004.03.01 page 67 of 311 M306H3MC-XXXFP/FCFP 各割り込みの優先レベル レベル0(初期値) 高 INT1 タイマB2 タイマB0 タイマA3 タイマA1 タイマB4/リモコン、UART1バス衝突 INT3 INT2 INT0 タイマB1 タイマA4 タイマA2 タイマB3/HINT、UART0バス衝突 タイマB5/SLICE ON UART1受信、ACK1 UART0受信、ACK0 UART2受信、ACK2 A-D変換 周辺機能割り込みの優先順位 (優先レベルが同じ場合) DMA1 UART2バス衝突 SI/O4、INT5 タイマA0 UART1送信、NACK1 UART0送信、NACK0 UART2送信、NACK2 キー入力割り込み DMA0 SI/O3、INT4 低 IPL 割り込み要求レベル判定出力 クロック発生回路(図2.5.1)へ Iフラグ アドレス一致 監視タイマ DBC NMI 図2.7.9. 割り込み優先レベル判定回路 Rev.1.00 2004.03.01 page 68 of 311 割り込み要求 受け付け M306H3MC-XXXFP/FCFP ______ 2.7.7 INT割り込み ________ INTi割り込み(i=0∼5)は外部入力による割り込みです。極性をIFSRレジスタのIFSRiビットで選択でき ます。 _________ _________ _________ INT4とSI/O3、INT5とSI/O4は、ベクタや割り込み制御レジスタを共用しています。INT4割り込みを使 _________ _______ 用するときは、IFSRレジスタのIFSR6ビットを“1”(INT4)に、INT5割り込みを使用するときは、IFSRレ _______ ジスタのIFSR7ビットを“1”(INT5)にしてください。 IFSR6、IFSR7ビットを変更した後、対応するIRビットを“0”(割り込み要求なし)にしてから、割り込 みを許可してください。 図2.7.10にIFSR、IFSR2Aレジスタを示します。 割り込み要因選択レジスタ b7 b6 b5 b4 b3 b2 b1 b0 シンボル IFSR アドレス 035F16番地 リセット後の値 0016 ビット名 ビットシンボル 機 能 RW IFSR0 INT0割り込み極性切り替え ビット 0 : 片エッジ 1 : 両エッジ (注1) RW IFSR1 INT1割り込み極性切り替え ビット 0 : 片エッジ 1 : 両エッジ (注1) RW IFSR2 INT2割り込み極性切り替え ビット 0 : 片エッジ 1 : 両エッジ (注1) RW IFSR3 INT3割り込み極性切り替え ビット 0 : 片エッジ 1 : 両エッジ (注1) RW IFSR4 INT4割り込み極性切り替え ビット 0 : 片エッジ 1 : 両エッジ (注1) RW IFSR5 INT5割り込み極性切り替え ビット 0 : 片エッジ 1 : 両エッジ (注1) RW IFSR6 割り込み要因切り替え (注2) ビット 0 : SI/O3 1 : INT4 (注3) IFSR7 割り込み要因切り替え (注2) ビット 0 : SI/O4 1 : INT5 (注3) RW RW 注1. “1”(両エッジ)を選択する場合は、対応するINT0IC∼INT5ICレジスタのPOLビットを“0”(立ち下がりエッジ) にしてください。 注2. メモリ拡張モード、マイクロプロセッサモード時は“0”(SI/O3、SI/O4)にしてください。 注3. “0”(SI/O3、SI/O4)を選択する場合は、対応するS3IC、S4ICレジスタのPOLビットを“0”(立ち下がり エッジ)にしてください。 割り込み要因選択レジスタ2 b7 b6 b5 b4 b3 b2 b1 b0 シンボル IFSR2A ビットシンボル (b5-b0) アドレス 035E16番地 ビット名 リセット後の値 00XXXXXX2 機 能 RW 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 IFSR26 割り込み要因切り替え ビット(注1) 0 : タイマB3/HINT 1 : UART0バス衝突検出 RW IFSR27 割り込み要因切り替え ビット(注2) 0 : タイマB4/リモコン 1 : UART1バス衝突検出 RW 注1. タイマB3/HINTとUART0バス衝突検出は、ベクタや割り込み制御レジスタを共用しています。 タイマB3/HINT割り込みを使用するときは、IFSR26ビットを“0”(タイマB3/HINT)にしてください。 UART0バス衝突検出割り込みを使用するときは、IFSR26ビットを“1”にしてください。 注2. タイマB4/リモコンとUART1バス衝突検出は、ベクタや割り込み制御レジスタを共用しています。 タイマB4/リモコン割り込みを使用するときは、IFSR27ビットを“0”(タイマB4/リモコン)にしてください。 UART1バス衝突検出割り込みを使用するときは、IFSR27ビットを“1”にしてください。 図2.7.10. IFSR、IFSR2Aレジスタ Rev.1.00 2004.03.01 page 69 of 311 M306H3MC-XXXFP/FCFP _______ 2.7.8 NMI割り込み _______ ________ ________ NMI端子の入力が“H”から“L”に変化したとき、NMI割り込みが発生します。NMI割り込みは、ノ _______ ンマスカブル割り込みです。また、この端子はNMI割り込み入力端子ですが、端子の入力レベルをP8レ ジスタのP8_5ビットで読めます。 この端子は入力ポートとして使用できません。 2.7.9 キー入力割り込み P104∼P107のうち、PD10レジスタのPD10_4∼PD10_7ビットを“0”(入力)にしている端子のいずれか の入力が立ち下がると、キー入力割り込み要求が発生します。キー入力割り込みは、ウエイトモードや ストップモードを解除するキーオンウエイクアップの機能としても使用できます。ただし、キー入力割 り込みを使用する場合、P104∼P107をアナログ入力端子として使用しないでください。図2.7.11にキー入 力割り込みのブロック図を示します。なお、PD10_4∼PD10_7ビットを“0”(入力モード)にしている端 子のいずれかに“L”が入力されていると、他の端子の入力は割り込みとして検知されません。 PUR2レジスタのPU25ビット プルアップ トランジスタ PD10レジスタの PD10_7ビット KUPICレジスタ PD10レジスタのPD10_7ビット KI3 プルアップ トランジスタ PD10レジスタの PD10_6ビット 割り込み制御回路 KI2 プルアップ トランジスタ PD10レジスタの PD10_5ビット KI1 プルアップ トランジスタ PD10レジスタの PD10_4ビット KI0 図2.7.11. キー入力割り込みのブロック図 Rev.1.00 2004.03.01 page 70 of 311 キー入力割り込み要求 M306H3MC-XXXFP/FCFP 2.7.10 アドレス一致割り込み RMADiレジスタ(i=0∼3)で示される番地の命令を実行する直前に、アドレス一致割り込み要求が発生 します。RMADiレジスタには、命令の先頭番地を設定してください。割り込みの禁止または許可は、AIER レジスタのAIER0、AIER1ビット、AIER2レジスタのAIER20、AIER21ビットで選択できます。アドレス 一致割り込みは、Iフラグ、IPLの影響を受けません。アドレス一致割り込み要求を受け付けたときに退 避されるPC の値(「レジスタ退避」参照)は、RMADi レジスタで示される番地の命令によって異なり ます(正しい戻り先番地がスタックに積まれていません)。したがって、アドレス一致割り込みから復帰 する場合、次のいずれかの方法で復帰してください。 ・スタックの内容を書き換えてREIT 命令で復帰する ・スタックをPOP 命令等を使用して、割り込み要求受け付け前の状態に戻してからジャンプ命令で復 帰する 表2.7.6 にアドレス一致割り込み要求受け付け時に退避されるPC の値を示します。 なお、外部データバスを8ビットで使用している場合、外部領域に対してアドレス一致割り込みは使用 できません。 図2.7.13にAIER、AIER2、RMAD0∼RMAD3レジスタを示します。 表2.7.6. アドレス一致割り込み要求受け付け時に退避されるPCの値 PMADi レジスタで示される番地の命令 退避される PC の値 ・16 ビットオペコード命令 ・8 ビットオペコードの命令のうち、以下に示す命令 ADD.B:S #IMM8,dest SUB.B:S RMADi レジスタで 示される番地+ 2 #IMM8,dest AND.B:S #IMM8,dest STZ.B:S #IMM8,dest OR.B:S #IMM8,dest MOV.B:S #IMM8,dest STNZ.B:S #IMM8,dest STZX.B:S #IMM81,#IMM82,dest CMP.B:S #IMM8,dest PUSHM src JMPS #IMM8 JSRS #IMM8 MOV.B:S #IMM,dest (ただし、dest = A0 または A1) POPM dest 上記以外 RMADi レジスタで 示される番地+ 1 退避される PC の値:「レジスタ退避」参照 表2.7.7. アドレス一致割り込み要因と関連レジスタの対応 アドレス一致割り込み要因 アドレス一致割り込み0 アドレス一致割り込み1 アドレス一致割り込み2 アドレス一致割り込み3 Rev.1.00 2004.03.01 page 71 of 311 アドレス一致割り込み許可ビット AIER0 AIER1 AIER20 AIER21 アドレス一致割り込みレジスタ RMAD0 RMAD1 RMAD2 RMAD3 M306H3MC-XXXFP/FCFP アドレス一致割り込み許可レジスタ b7 b6 b5 b4 b3 b2 b1 b0 シンボル AIER アドレス 000916番地 リセット後の値 XXXXXX002 ビット名 ビットシンボル 機 能 RW AIER0 アドレス一致割り込み0 許可ビット 0 : 禁止 1 : 許可 RW AIER1 アドレス一致割り込み1 許可ビット 0 : 禁止 1 : 許可 RW (b7-b2) 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 アドレス一致割り込み許可レジスタ2 b7 b6 b5 b4 b3 b2 b1 b0 シンボル AIER2 アドレス 01BB16番地 リセット後の値 XXXXXX002 ビット名 ビットシンボル 機 能 RW AIER20 アドレス一致割り込み2 許可ビット 0 : 禁止 1 : 許可 RW AIER21 アドレス一致割り込み3 許可ビット 0 : 禁止 1 : 許可 RW (b7-b2) 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 アドレス一致割り込みレジスタi(i=0∼3) (b23) b7 (b19) b3 (b16)(b15) b0 b7 (b8) b0 b7 b0 シンボル RMAD0 RMAD1 RMAD2 RMAD3 機 能 アドレス一致割り込み用アドレス設定レジスタ アドレス リセット後の値 001216∼001016番地 X0000016 001616∼001416番地 X0000016 01BA16∼01B816番地 X0000016 01BE16∼01BC16番地 X0000016 設定範囲 RW 0000016∼FFFFF16 RW 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 図2.7.12. AIER、AIER2、RMAD0∼RMAD3レジスタ Rev.1.00 2004.03.01 page 72 of 311 M306H3MC-XXXFP/FCFP 2.8 監視タイマ 監視タイマは、プログラムの暴走を検知する機能です。したがって、システムの信頼性向上のために、 監視タイマを使用されることをお奨めします。監視タイマは15ビットのカウンタを持ち、CPUクロック をプリスケーラで分周したクロックをダウンカウントします。監視タイマがアンダフローしたときの処 理として、監視タイマ割り込み要求を発生させるか、監視タイマリセットをかけるかをPM1レジスタの PM12ビットで選択できます。PM12ビットには“1”(監視タイマリセット)のみ書けます。一度、PM12ビッ トを“1”にするとプログラムでは“0”(監視タイマ割り込み)にはできません。監視タイマリセットの 詳細は「監視タイマリセット」を参照してください。 CPUクロックにメインクロックを選択している場合、WDCレジスタのWDC7ビットでプリスケーラが 16分周するか128分周するかを選択できます。CPUクロックにサブクロックを選択している場合、WDC7 ビットに関係なくプリスケーラは2分周します。したがって、監視タイマの周期は次のように計算できま す。ただし、監視タイマの周期には、プリスケーラによる誤差が生じます。 CPUクロックにメインクロックを選択している場合 監視タイマの周期 = プリスケーラの分周(16または128)×監視タイマのカウント値(32768) CPUクロック CPUクロックにサブクロックを選択している場合 監視タイマの周期 = プリスケーラの分周(2)×監視タイマのカウント値(32768) CPUクロック 例えば、CPUクロックが10MHZで、プリスケーラが16分周する場合、監視タイマの周期は、約52.4ms となります。 監視タイマは、WDTSレジスタに書いたとき、初期化されます。プリスケーラは、リセット後に初期 化されています。なお、リセット後は監視タイマとプリスケーラは停止しており、WDTSレジスタに書 くことによりカウントを開始します。 ストップモード時、ウエイトモード時、またはホールド状態時、監視タイマとプリスケーラは停止し、 解除すると保持された値からカウントします。 図2.8.1に監視タイマのブロック図、図2.8.2に監視タイマ関連レジスタを示します。 Rev.1.00 2004.03.01 page 73 of 311 M306H3MC-XXXFP/FCFP プリスケーラ CM07=0 WDC7=0 1/16 CPU クロック PM12=0 1/128 HOLD 監視タイマ 割り込み要求 CM07=0 WDC7=1 CM07=1 監視タイマ 1/2 PM12=1 7FFF16を 設定する WDTSレジスタへの書き込み 監視タイマ リセット RESET 図2.8.1. 監視タイマのブロック図 監視タイマ制御レジスタ b7 b6 b5 b4 b3 b2 b1 b0 シンボル WDC 0 アドレス リセット後の値 000F16番地 00XXXXXX2(注2) 機 能 ビット名 ビットシンボル RW (b4-b0) 監視タイマの上位ビット WDC5 コールドスタート/ウォーム スタート判定フラグ(注1) 0 : コールドスタート 1 : ウォームスタート RW (b6) 予約ビット “0”にしてください RW WDC7 プリスケーラ選択ビット 0 : 16分周 1 : 128分周 RW RO 注1. WDCレジスタに書くと、WDC5ビットは、“1”(ウォームスタート)になります。 注2. WDC5ビットは電源投入後“0”(コールドスタート)です。プログラムでのみ“1”にできます。 監視タイマスタートレジスタ(注1) b7 シンボル WDTS b0 アドレス 000E16番地 リセット後の値 不定 機 能 このレジスタに対する書き込み命令で、監視タイマは初期化されスタートします。 監視タイマの初期値は、書き込む値にかかわらず“7FFF16”が設定されます。 注1. 監視タイマ割り込み発生後は、WDTSレジスタに書き込みを行ってください。 図2.8.2. WDC、WDTSレジスタ Rev.1.00 2004.03.01 page 74 of 311 RW WO M306H3MC-XXXFP/FCFP 2.9 DMAC DMAC(ダイレクト・メモリ・アクセス・コントローラ)はCPUを使わずにデータを転送する機能で、2 チャネルあります。DMACはDMA要求が発生するごとに転送元番地の1データ(8ビットまたは16ビット) を転送先番地にデータ転送します。DMACはCPUと同じデータバスを使用します。DMACのバス使用権 はCPUよりも高く、サイクルスチール方式を採用しているため、DMA要求が発生してから1ワード(16ビッ ト)または1バイト(8ビット)のデータ転送を完了するまでの動作を高速に行えます。図2.9.1にDMACブロッ ク図、表2.9.1にDMACの仕様、図2.9.2∼図2.9.4にDMAC関連レジスタを示します。 アドレスバス DMA0ソースポインタSAR0(20) (002216番地∼002016番地) DMA0ディスティネーションポインタDAR0(20) (002616番地∼002416番地) DMA0順方向アドレスポインタ(20)(注1) DMA0転送カウンタリロードレジスタTCR0(16) DMA1ソースポインタSAR1(20) (003216番地∼003016番地) (002916番地,002816番地) DMA0転送カウンタTCR0(16) DMA1ディスティネーションポインタDAR1(20) DMA1転送カウンタリロードレジスタTCR1(16) DMA1順方向アドレスポインタ(20)(注1) (003616番地∼003416番地) (003916番地,003816番地) DMAラッチ上位 DMA1転送カウンタTCR1(16) DMAラッチ下位 データバス下位 データバス上位 注1. ポインタはDMA要求でインクリメントされます。 図2.9.1. DMACブロック図 DMA要求は、DMiSLレジスタ(i=0∼1)のDSRビットへの書き込みの他、DMiSLレジスタのDMSビット、 DSEL3∼DSEL0ビットで指定した各機能から出力される割り込み要求で発生します。ただし、DMA転送 は、割り込み要求動作と異なり、Iフラグ、割り込み制御レジスタの影響を受けませんので、割り込みが 禁止されているときなどのように、割り込み要求が受け付けられない場合でも、DMA要求は受け付けら れます。また、DMACは割り込みに影響を与えませんので、DMA転送では割り込み制御レジスタのIRビッ トは変化しません。 DMiCONレジスタのDMAEビットが“1”(DMA許可)であれば、DMA要求が発生するごとに、データ 転送が開始されます。ただし、DMA転送サイクルよりもDMA要求が発生するサイクルが早い場合、転 送要求回数と転送回数が一致しない場合があります。詳細については「DMA要求」を参照してください。 Rev.1.00 2004.03.01 page 75 of 311 M306H3MC-XXXFP/FCFP 表2.9.1. DMACの仕様 項 目 チャネル数 転送空間 仕 様 2チャネル(サイクルスチール方式 ) ●1Mバイトの任意の空間から固定番地 ●固定番地から1Mバイトの任意の空間 ●固定番地から固定番地 最大転送バイト数 128Kバイト(16ビット転送時)、64Kバイト(8ビット転送時) _________ _________ DMA要求要因(注1、注2) INT0またはINT1端子の立ち下がりエッジ _________ _________ INT0またはINT1端子の両エッジ タイマA0∼タイマA4割り込み要求 タイマB0∼タイマB5割り込み要求 UART0送信、UART0受信割り込み要求 UART1送信、UART1受信割り込み要求 UART2送信、UART2受信割り込み要求 SI/O3、SI/O4割り込み要求 A-D変換割り込み要求 ソフトウエアトリガ チャネル優先順位 DMA0>DMA1(DMA0が優先) 転送単位 8ビットまたは16ビット 転送番地方向 順方向または固定(転送元と転送先の両方を順方向にしないでください) 転送モード 単転送 DMAi転送カウンタ(i=0∼1)がアンダフローすると転送が終了する リピート転送 DMAi転送カウンタがアンダフローした後、DMAi転送カウンタリロー ドレジスタの値がDMAi転送カウンタにリロードされ、DMA転送を継続 する DMA割り込み要求発生タイミング DMAi転送カウンタがアンダフローしたとき DMA転送開始 DMAiCONレジスタのDMAEビットを“1”(許可)にすると、DMA要求が 発生するごとにデータ転送が開始される DMA転送停止 単転送 ●DMAEビットを“0”(禁止)にする ●DMAi転送カウンタがアンダフローした後 リピート転送 DMAEビットを“0”(禁止)にする 順方向アドレスポインタ、 DMAEビットを“1”(許可)にした後のデータ転送開始時に、SARiポイ DMAi転送カウンタのリロード ンタまたはDARiポインタのうち、順方向に指定された方のポインタの タイミング 値を順方向アドレスポインタへ、DMAi転送カウンタリロードレジスタ の値をDMAi転送カウンタへリロード 注1. DMA転送は、各割り込みに影響を与えません。また、DMA転送はIフラグ、割り込み制御レジスタの 影響を受けません。 注2. 選択できる要因はチャネルによって異なります。 注3 DMAC関連レジスタ(002016∼003F16番地)をDMACでアクセスしないでください。 Rev.1.00 2004.03.01 page 76 of 311 M306H3MC-XXXFP/FCFP DMA0要因選択レジスタ b7 b6 b5 b4 b3 b2 b1 シンボル DM0SL b0 アドレス 03B816番地 ビット名 ビットシンボル ビットシンボル DSEL0 リセット後の値 0016 DMA要求要因選択ビット 機 能 機 能 注1を参照してください RW DSEL2 RW RW (b5-b4) 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は“0”。 DMS DMA要因拡張選択ビット 0:基本要因 1:拡張要因 DSR ソフトウエアDMA 要求ビット DMSビットが“0”(基本要因)、DSEL3 ∼DSEL0ビットが“00012”(ソフトウ エアトリガ)のとき、このビットを“1” にするとDMA要求が発生する (読んだ場合、その値は“0”) 注1. DMA0の要求要因は、DMSビットとDSEL3∼DSEL0ビットの組み合わせで次のとおり選択できます。 DSEL3∼DSEL0 0000 0001 0010 0011 DMS=0(基本要因) INT0端子の立ち下がりエッジ ソフトウエアトリガ タイマA0 タイマA1 DMS=1(拡張要因) - 0100 0101 タイマA2 タイマA3 - 0110 0111 タイマA4 タイマB0 INT0端子の両エッジ タイマB3 1000 1001 タイマB1 タイマB2 タイマB4 タイマB5 1010 1011 UART0送信 UART0受信 - 1100 1101 UART2送信 UART2受信 - 1110 1111 A-D変換 UART1送信 - 注2. 拡張機能の拡張レジスタ3616番地のVINTi, INTRMTi, HINTi(i=0∼3)において、以下の設定で使用する場合は、 DMA要因拡張選択ビット=“1”(拡張要因)を使用しないでください。 ・VINTi=10112 (i=0∼3) 図2.9.2. DM0SLレジスタ Rev.1.00 2004.03.01 page 77 of 311 RW DSEL1 DSEL3 ・INTRMTi=10102 ・HINTi=10012 RW RW RW M306H3MC-XXXFP/FCFP DMA1要因選択レジスタ b7 b6 b5 b4 b3 b2 b1 b0 シンボル DM1SL アドレス 03BA16番地 ビット名 ビット名 ビットシンボル DSEL0 リセット後の値 0016 DMA要求要因選択ビット 機 能 機 能 注1を参照してください R RW RW RW RW RW DSEL1 DSEL2 DSEL3 (b5-b4) 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は“0”。 DMS DMA要因拡張選択ビット DSR ソフトウエアDMA 要求ビット 0 : 基本要因 1 : 拡張要因 RW DMSビットが“0”(基本要因)、DSEL3 ∼DSEL0ビットが“00012”(ソフトウエ アトリガ)のとき、このビットを“1”に するとDMA要求が発生する (読んだ場合、その値は“0”) RW 注1. DMA1の要求要因は、DMSビットとDSEL3∼DSEL0ビットの組み合わせで次のとおり選択できます。 DSEL3∼DSEL0 0000 0001 DMS=0(基本要因) DMS=1(拡張要因) INT1端子の立ち下がりエッジ ソフトウエアトリガ - 0010 タイマA0 - 0011 タイマA1 - 0100 タイマA2 - 0101 タイマA3 SI/O3 0110 タイマA4 SI/O4 0111 タイマB0 INT1端子の両エッジ 1000 1001 1010 1011 1100 1101 1110 1111 タイマB1 タイマB2 UART0送信 UART0受信/ACK0 UART2送信 UART2受信/ACK2 A-D変換 UART1受信/ACK1 - DMAi制御レジスタ(i=0、1) b7 b6 b5 b4 b3 b2 b1 b1 シンボル DM0CON DM1CON ビットシンボル アドレス 002C16番地 003C16番地 リセット後の値 00000X002 00000X002 ビット名 ビット名 機 能 機 能 0 : 16ビット 1 : 8ビット RW DMASL リピート転送モード 選択ビット 0 : 単転送 1 : リピート転送 RW DMAS DMA要求ビット 0 : 要求なし 1 : 要求あり RW DMA許可ビット 0 : 禁止 1 : 許可 RW DSD 転送元アドレス方向 選択ビット(注2) 0 : 固定 1 : 順方向 RW DAD 転送先アドレス方向 選択ビット(注2) 0 : 固定 1 : 順方向 RW (b7-b6) 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は“0”。 DMBIT DMAE 注1. DMASビットは、プログラムで“0”を書くと“0”になります(“1”を書いても変化しません)。 注2. DADビット、DSDビットのうち、少なくともいずれか1ビットは“0”(アドレス方向は固定)にしてください。 図2.9.3. DM1SL、DM0CON、DM1CONレジスタ Rev.1.00 2004.03.01 RRW W 転送単位ビット数選択ビット page 78 of 311 (注1) M306H3MC-XXXFP/FCFP DMAiソースポインタ(i=0、1)(注1) (b23) b7 (b19) b3 (b16)(b15) b0 b7 (b8) b0 b7 b0 シンボル SAR0 SAR1 アドレス リセット後の値 002216番地 ∼002016番地 不定 003216番地 ∼003016番地 不定 機 能 設定範囲 転送元番地を設定してください 0000016∼FFFFF16 RW RW 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は“0”。 注1. DMiCONレジスタのDSDビットが“0”(固定)の場合は、DMiCONレジスタのDMAEビットが“0”(DMA禁止)のとき書いてください。 DSDビットが“1”(順方向)の場合は、いつでも書けます。 DSDビットが“1”かつDMAEビットが“1”(DMA許可)の場合は、DMAi順方向アドレスポインタが読めます。それ以外では書いた値が読めます。 DMAiディスティネーションポインタ(i=0、1)(注1) (b23) b7 (b19) b3 (b16)(b15) b0 b7 (b8) b0 b7 b0 シンボル DAR0 DAR1 アドレス リセット後の値 002616番地 ∼ 002416番地 不定 003616番地 ∼ 003416番地 不定 機 能 設定範囲 転送先番地を設定してください 0000016∼FFFFF16 RW RW 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は“0”。 注1. DMiCONレジスタのDADビットが“0”(固定)の場合は、DMiCONレジスタのDMAEビットが“0”(DMA禁止)のとき書いてください。 DADビットが“1”(順方向)の場合は、いつでも書けます。 DADビットが“1”かつDMAEビットが“1”(DMA許可)の場合は、DMAi順方向アドレスポインタが読めます。それ以外では書いた値が読めます。 DMAi転送カウンタ(i=0、1)(注1) (b15) b7 (b8) b0 b7 b0 シンボル TCR0 TCR1 アドレス リセット後の値 002916番地-002816番地 不定 003916番地-003816番地 不定 機 能 転送回数ー1を設定してください。書いた値はDMAi転送 カウンタリロードレジスタに格納され、DMiCONレジスタ のDMAEビットを“1”(DMA許可)にしたとき、または DMiCONレジスタのDMASLビットが“1”(リピート転送) でDMAi転送カウンタがアンダフローしたとき、DMAi転送 カウンタリロードレジスタの値がDMAi転送カウンタへ 転送されます。 読んだ場合、DMAi転送カウンタが読めます。 図2.9.4. SAR0、SAR1、DAR0、DAR1、TCR0、TCR1レジスタ Rev.1.00 2004.03.01 page 79 of 311 設定範囲 RW 000016∼FFFF16 RW M306H3MC-XXXFP/FCFP 2.9.1 転送サイクル 転送サイクルは、メモリまたはSFRの読み出し(ソースリード)のバスサイクルと書き込み(ディスティ ネーションライト)のバスサイクルで構成されます。読み出し、書き込みのバスサイクル回数は、転送元、 転送先番地の影響を受けます。また、メモリ拡張モードとマイクロプロセッサモード時は、BYTE端子の ________ レベルの影響も受けます。さらに、ソフトウエアウエイトやRDY信号の影響により、バスサイクル自体 が長くなります。 ■転送元番地、転送先番地の影響 転送単位、データバスが共に16ビットで、転送元番地が奇数番地から始まる場合、ソースリードサ イクルは、偶数番地から始まる場合に比べて1バスサイクル増えます。 同様に、転送単位、データバスが共に16ビットで、転送先番地が奇数番地から始まる場合、ディス ティネーションライトサイクルは、偶数番地から始まる場合に比べて1バスサイクル増えます。 ■BYTE端子の影響 メモリ拡張モードとマイクロプロセッサモード時は、8ビットデータバス(BYTE端子に“H”を入力 している場合)で16ビットのデータ転送を行う場合、8ビットのデータを2回転送します。そのためバ スサイクルは、データを読むのに2バスサイクル、書くのに2バスサイクル必要とします。また、DMAC が内部領域(内部ROM、内部RAM、SFR)をアクセスする場合においても、CPUが内部領域をアクセス する場合と異なり、BYTE端子で選択したデータ幅でアクセスします。 ■ソフトウエアウエイトの影響 ソフトウエアウエイトが入るメモリまたはSFRをアクセスする場合、ソフトウエアウエイトの分だ け1バスサイクルに要するサイクル数が増えます。 ________ ■RDY信号の影響 ________ メモリ拡張モードとマイクロプロセッサモード時、外部領域ではRDY信号の影響を受けます。詳細 ________ は「RDY信号」を参照してください。 図2.9.5にソースリードサイクル例を示します。この図では、ディスティネーションライトサイクルを 便宜上1サイクルとし、ソースリードについての条件別サイクル数を示しています。実際は、ソースリー ドサイクルと同様にディスティネーションライトサイクルも各条件の影響を受け、転送サイクルが変化 します。転送サイクルを計算する場合、ディスティネーションライトサイクル、ソースリードサイクル に各条件を適用してください。例えば転送単位が16ビットで、8ビットバスを使用している場合(図2.9.5 の(2))では、ソースリードサイクルとディスティネーションライトサイクルは、それぞれに2バスサイク ル必要となります。 Rev.1.00 2004.03.01 page 80 of 311 M306H3MC-XXXFP/FCFP (1) 転送単位が8ビットの場合または 転送単位が16ビットでソースが偶数番地の場合 BCLK アドレス バス CPU使用 ソース ディスティネーション ダミーサイ クル CPU使用 RD信号 WR信号 データ バス ソース CPU使用 ディスティネーション ダミーサイ クル CPU使用 (2) 転送単位が16ビットでソースが奇数番地の場合または転送単位が16ビットで8ビットバスを使用している場合 BCLK アドレス バス CPU使用 ソース ソース+1 ディスティネーション ダミーサイ クル CPU使用 RD信号 WR信号 データ バス CPU使用 ソース+1 ソース ディスティネーション ダミーサイ クル CPU使用 (3) (1)の条件でソースリードに1ウエイトが入った場合 BCLK アドレス バス CPU使用 ソース ディスティネーション ダミーサイ クル CPU使用 RD信号 WR信号 データ バス CPU使用 ソース ディスティネーション ダミーサイ クル CPU使用 (4) (2)の条件でソースリードに1ウエイトが入った場合 BCLK アドレス バス CPU使用 ソース ソース+1 ディスティネーション ダミーサイ クル CPU使用 RD信号 WR信号 データ バス CPU使用 ソース ソース+1 ディスティネーション 注1. ディスティネーションについても各条件で、ソースと同じタイミングの変化があります。 図2.9.5. ソースリードサイクル例 Rev.1.00 2004.03.01 page 81 of 311 ダミーサイ クル CPU使用 M306H3MC-XXXFP/FCFP 2.9.2 DMA転送サイクル数 DMA転送サイクル数は次のとおり計算できます。 表2.9.2にDMAC転送サイクル数、表1.14.3に計数j、kを示します。 1転送単位の転送サイクル数 =読み出しサイクル数 × j + 書き込みサイクル 数 × k 表2.9.2. DMA転送サイクル数 シングルチップモード 転送単位 8ビット転送 (DMBIT=“1”) 16ビット転送 (DMBIT=“0”) バス アクセス 番地 16ビット (BYTE=“L”) 8ビット (BYTE=“H”) 16ビット (BYTE=“L”) 8ビット (BYTE=“H”) 偶 数 奇 数 偶 数 奇 数 偶 数 奇 数 偶 数 奇 数 メモリ拡張モード マイクロプロセッサモード 読み出し 書き込み 読み出し 書き込み サイクル数 サイクル数 サイクル数 サイクル数 1 1 1 1 1 1 1 1 − − 1 1 − − 1 1 1 1 1 1 2 2 2 2 − − 2 2 − − 2 2 表2.9.3. 係数j、k 内部領域 内部ROM、RAM 外部領域 SFR ウエイトなし ウエイトあり セパレートバス ウエイトなし マルチプレクスバス ウエイトあり(注1) ウエイトあり(注1) 1ウエイト 2ウエイト 3ウエイト 1ウエイト 2ウエイト 3ウエイト j 1 2 2 1 2 3 4 3 3 4 k 1 2 2 2 2 3 4 3 3 4 注1. CSEレジスタの設定値に依存します。 Rev.1.00 2004.03.01 page 82 of 311 M306H3MC-XXXFP/FCFP 2.9.3 DMA許可 DMiCONレジスタ(i=0、1)のDMAEビットを“1”(許可)にした後のデータ転送開始時に、DMACは次の ように動作します。 (a) DMiCONレジスタのDSDビットが“1”(順方向)の場合はSARiレジスタの、DMiCONレジスタのDAD ビットが“1”(順方向)の場合はDARiレジスタの値を順方向アドレスポインタへリロードする (b) DMAi転送カウンタリロードレジスタの値をDMAi転送カウンタへリロードする DMAEビットが“1”の場合、再度“1”を書くと、上記動作を行います。 ただし、DMAEビットへの書き込みと同時にDMA要求が発生する可能性がある場合は、次の手順で書 いてください。 (1) DMiCONレジスタのDMAEビットとDMASビットに同時に“1”を書く。 (2) DMAiが初期状態(上記(a)(b)の状態)になっていることをプログラムで確認する。 DMAiが初期状態になっていない場合は、(1)(2)を繰り返す。 2.9.4 DMA要求 DMACは、チャネルごとにDMiSLレジスタ(i=0、1)のDMSビット、DESL3∼DESL0ビットで選択した 要因をトリガとして、DMA要求を発生できます。表2.9.4にDMASビットが変化するタイミングを示します。 DMASビットは、DMAEビットの状態にかかわらず、DMA要求が発生すると“1”(要求あり)になりま す。DMAEビットが“1”(許可)の場合、データ転送が開始される直前にDMASビットは“0”(要求なし) になります。また、プログラムで“0”にできますが“1”にはできません。 DMSビット、DSEL3∼DSEL0ビットを変更すると、DMASビットは“1”になることがあります。した がって、DMSビット、DSEL3∼DSEL0ビットを変更した後は、DMASビットを“0”にしてください。 DMAEビットが“1”であれば、DMA要求発生後、すぐにデータ転送が開始されるので、プログラム でDMASビットを読んでも、ほとんどの場合“0”が読めます。DMACが許可されていることを判断する には、DMAEビットを読んでください。 表2.9.4. DMASビットが変化するタイミング DMA要因 DMiCONレジスタのDMASビット “1”になるタイミング ソフトウエアトリガ DMiSLレジスタのDSRビット を“1”にしたとき 周辺機能 DMiSLレジスタのDSEL3∼DSEL0 ビットとDMSビットで選択した周辺 機能の、割り込み制御レジスタのIR ビットが“1”になるとき Rev.1.00 2004.03.01 page 83 of 311 “0”になるタイミング ・データ転送開始直前 ・プログラムで“0”を書いたとき M306H3MC-XXXFP/FCFP 2.9.5 チャネルの優先順位とDMA転送タイミング DMA0とDMA1の両方が許可されている場合、DMA0とDMA1のDMA転送の要求信号が同一サンプリ ング期間(BCLKの立ち下がりエッジから次の立ち下がりエッジの一周期)に入ると、各チャネルのDMAS ビットは同時に“1”(要求あり)になります。この場合のチャネル優先順位はDMA0>DMA1です。次に DMA0とDMA1の要求が同一サンプリング期間に入った場合の動作を説明します。図2.9.6に外部要因に よるDMA転送例を示します。 図2.9.6ではDMA0の要求とDMA1の要求が同時に発生したので、チャネル優先順位が高いDMA0が先に 受け付けられ転送を開始します。DMA0が1転送単位を終了するとCPUにバス使用権をゆずり、CPUが1 回のバスアクセスを終了すると、次にDMA1が転送を開始し、1転送単位終了後CPUにバス使用権を返し ます。 なお、DMASビットは各チャネル1ビットですので、DMA要求の回数はカウントできません。したがっ て、図2.9.6のDMA1のようにバス使用権を得るまでに複数回DMA要求が発生した場合も、バス使用権を 得るとDMASビットを“0”にして、1転送単位終了後、CPUにバス使用権を返します。 CPUとのバスの使用優先順位については、「2.4.2 バス制御 (7)HOLD信号」も参照ください。 外部要因によるDMA要求が同時に入り、 DMA転送を最短サイクルで実行した場合の例 BCLK DMA0 バス 使用権 獲得 DMA1 CPU INT0 DMA0の DMASビット INT1 DMA1の DMASビット 図2.9.6. 外部要因によるDMA転送例 Rev.1.00 2004.03.01 page 84 of 311 M306H3MC-XXXFP/FCFP 2.10 タイマ 16ビットタイマが11本あります。11本のタイマは、持っている機能によってタイマA(5本)とタイマB(6 本)の2種類に分類できます。すべてのタイマは、それぞれ独立して動作します。各タイマのカウントソー スは、カウント、リロードなどのタイマ動作の動作クロックになります。図2.10.1にタイマA構成、図2.10.2 にタイマB構成を示します。 f2 PCLK0ビット=0 1/2 メインクロック 時計用プリスケーラ f1またはf2 f1 PCLK0ビット=1 1/8 1/4 f32 fC32 1/32 XCIN f8 CPSRFレジスタのCPSRビットを “1”(プリスケーラリセット)にする リセット f1またはf2 f8 f32 fc32 ・タイマモード ・ワンショットタイマモード ・パルス幅変調モード ノイズ フィルタ TA0IN タイマA0 ・イベントカウンタモード ・タイマモード ・ワンショットタイマモード ・パルス幅変調モード ノイズ フィルタ TA1IN TA2IN ・イベントカウンタモード TA3IN ・イベントカウンタモード TA4IN ・イベントカウンタモード タイマA4 ・イベントカウンタモード タイマB2オーバフローまたはアンダフロー 注1. TA0INはRxD2、TB5INと端子を共用していますので注意してください。 図2.10.1. タイマA構成 Rev.1.00 2004.03.01 page 85 of 311 タイマA3割り込み タイマA3 ・タイマモード ・ワンショットタイマモード ・パルス幅変調モード ノイズ フィルタ タイマA2割り込み タイマA2 ・タイマモード ・ワンショットタイマモード ・パルス幅変調モード ノイズ フィルタ タイマA1割り込み タイマA1 ・タイマモード ・ワンショットタイマモード ・パルス幅変調モード ノイズ フィルタ タイマA0割り込み タイマA4割り込み M306H3MC-XXXFP/FCFP 1/2 メインクロック f2 PCLK0ビット=0 時計用プリスケーラ f1またはf2 f1 PCLK0ビット=1 1/8 1/4 1/32 XCIN f8 f32 CPSRFレジスタのCPSRビット を“1”(プリスケーラリセット) にする fC32 リセット タイマB2オーバフローまたはアンダフロー(タイマAのカウントソースへ) ↑ f1またはf2 f8 f32 fc32 ・タイマモード ・パルス幅測定モード、パルス周期測定モード ノイズ フィルタ TB0IN タイマB0 タイマB0割り込み ・イベントカウンタモード ・タイマモード ・パルス幅測定モード、パルス周期測定モード ノイズ フィルタ TB1IN タイマB1割り込み タイマB1 ・イベントカウンタモード ・タイマモード ・パルス幅測定モード、パルス周期測定モード ノイズ フィルタ TB2IN タイマB2割り込み タイマB2 ・イベントカウンタモード ・タイマモード ・パルス幅測定モード、パルス周期測定モード ノイズ フィルタ TB3IN タイマB3割り込み タイマB3 ・イベントカウンタモード ・タイマモード ・パルス幅測定モード、パルス周期測定モード ノイズ フィルタ TB4IN タイマB4割り込み タイマB4 ・イベントカウンタモード ・タイマモード ・パルス幅測定モード、パルス周期測定モード ノイズ フィルタ TB5IN タイマB5割り込み タイマB5 ・イベントカウンタモード 注1. TB5INはRxD2、TA0INと端子を共用していますので注意してください。 図2.10.2. タイマB構成 Rev.1.00 2004.03.01 page 86 of 311 M306H3MC-XXXFP/FCFP 2.10.1 タイマA 図2.10.3にタイマAのブロック図を、図2.10.4∼図2.10.6にタイマA関連のレジスタを示します。 タイマAは、次の4種類のモードを持ち、イベントカウンタモードを除いて、タイマA0∼A4は同一の 機能を持ちます。各モードは、TAiMRレジスタ(i=0∼4)のTMOD1∼TMOD0で選択できます。 ・タイマモード ・イベントカウンタモード ・ワンショットタイマモード ・パルス幅変調モード 内部カウントソースをカウントするモード 外部からのパルス、他のタイマのオーバフロー、または他のタイマの アンダフローをカウントするモード カウント値が“000016”になるまでの間、1度だけパルスを出力する モード 任意のパルス幅を連続して出力するモード データバス上位 データバス下位 クロック源選択 ・タイマモード ・ワンショットタイマモード ・パルス幅変調モード f1またはf2 f8 f32 fc32 上位8ビット 下位8ビット ・タイマモード (ゲート機能) リロードレジスタ クロック選択 ・イベントカウンタ モード カウンタ (16) 極性切り替え アップカウント、ダウンカウント TAiIN (i=0∼4) イベントカウンタモード 以外では常にダウンカウント TABSRレジスタ クロック選択 TAi タイマA0 タイマA1 タイマA2 タイマA3 タイマA4 TB2オーバフロー(注1) 外部トリガ回路へ TAjオーバフロー(注1) (j = i − 1 ただしi = 0のときj = 4) ダウンカウント 番地 038716 038616 038916 038816 038B16 038A16 038D16 038C16 038F16 038E16 TAj タイマA4 タイマA0 タイマA1 タイマA2 タイマA3 UDFレジスタ TAkオーバフロー(注1) (k = i + 1 ただしi = 4のときk = 0) パルス出力 TAiOUT (i=0∼4) トグルフリップフロップ 注1. オーバフローまたはアンダフロー 図2.10.3. タイマAブロック図 タイマAiモードレジスタ(i=0∼4) b7 b6 b5 b4 b3 b2 b1 シンボル アドレス リセット後の値 TA0MR∼TA4MR 039616∼039A16番地 0016 b0 ビットシンボル TMOD0 TMOD1 MR0 MR1 ビット名 動作モード選択ビット 機 能 0 0 : タイマモード 0 1 : イベントカウンタモード 1 0 : ワンショットタイマモード 1 1 : パルス幅変調(PWM)モード 動作モードによって機能が異なる 図2.10.4. TA0MR∼TA4MRレジスタ Rev.1.00 2004.03.01 page 87 of 311 RW RW RW RW MR3 TCK1 RW RW MR2 TCK0 RW b1 b0 カウントソース選択ビット (動作モードによって機能が異なる) RW RW TAk タイマA1 タイマA2 タイマA3 タイマA4 タイマA0 M306H3MC-XXXFP/FCFP タイマAiレジスタ(i=0∼4)(注1) (b15) b7 (b8) b0 b7 b0 シンボル TA0 TA1 TA2 TA3 TA4 モード アドレス リセット後の値 038716-038616番地 不定 038916-038816番地 不定 038B16-038A16番地 不定 038D16-038C16番地 不定 038F16-038E16番地 不定 設定範囲 機 能 RW タイマモード 設定値をnとすると、カウントソース 000016∼FFFF16 RW をn+1分周する イベントカウンタ モード 設定値をnとすると、アップカウント 000016∼FFFF16 時、カウントソースをFFFF16-n+1分 周し、ダウンカウント時、カウント (注5) ソースをn+1分周する 設定値をnとすると、カウントソース 000016∼FFFF16 (注2、注4) をn分周し、停止する ワンショット タイマモード パルス幅変調 モード (16ビットPWM) パルス幅変調 モード (8ビットPWM) 設定値をn、カウントソースの周波数 をfjとすると次のとおり動作する PWMの周期 : (216 -1) / fj PWMパルスの“H”幅 : n / fj 上位番地の設定値をn、下位番地の設 定値をm、カウントソースの周波数 をfjとすると次のとおり動作する PWMの周期 : (28 -1)×(m+1) / fj PWMパルスの“H”幅 : (m+1)n / fj 000016∼FFFE16 (注3、注4) 0016∼FE16 (上位番地) 0016∼FF16 (下位番地) (注3、注4) RW WO WO WO 注1. 16ビット単位でアクセスしてください。 注2. TAiレジスタを“000016”にした場合、カウンタは動作せず、タイマAi割り込み要求は発生しません。また、 パルス出力ありを選択した場合、TAiOUT端子からパルスは出力されません。 注3. TAiレジスタを“000016”にした場合、パルス幅変調器は動作せず、TAiOUT端子の出力レベルは“L”のまま で、タイマAi割り込み要求も発生しません。また、8ビットパルス幅変調器として動作しているとき、TAi レジスタの上位8ビットに“0016”を設定した場合も同様です。 注4. TAiレジスタへはMOV命令を使用して書いてください。 注5. 外部からのパルス、他のタイマのオーバフロー、または他のタイマのアンダフローをカウントします。 カウント開始フラグ b7 b6 b5 b4 b3 b2 b1 アドレス 038016番地 シンボル TABSR b0 リセット後の値 0016 ビット名 ビットシンボル 機 能 RW TA0S タイマA0カウント開始フラグ TA1S タイマA1カウント開始フラグ TA2S タイマA2カウント開始フラグ RW TA3S タイマA3カウント開始フラグ RW TA4S タイマA4カウント開始フラグ RW TB0S タイマB0カウント開始フラグ RW TB1S タイマB1カウント開始フラグ RW TB2S タイマB2カウント開始フラグ RW 0 : カウント停止 1 : カウント開始 RW RW アップダウンフラグ(注1) b7 b6 b5 b4 b3 b2 b1 シンボル UDF b0 アドレス 038416番地 リセット後の値 0016 ビットシンボル ビット名 機 能 RW TA0UD タイマA0アップダウンフラグ RW TA1UD タイマA1アップダウンフラグ TA2UD タイマA2アップダウンフラグ TA3UD タイマA3アップダウンフラグ 0 : ダウンカウント 1 : アップカウント イベントカウンタモード時、 TAiMRレジスタのMR2ビットを“0” (切り替え要因はUDFレジスタ)にする と有効になります TA4UD タイマA4アップダウンフラグ TA2P タイマA2二相パルス信号処理 機能選択ビット TA3P タイマA3二相パルス信号処理 機能選択ビット TA4P タイマA4二相パルス信号処理 機能選択ビット RW RW RW RW 0 : 二相パルス信号処理機能禁止 1 : 二相パルス信号処理機能許可 (注2、注3) WO WO WO 注1. UDFレジスタへはMOV命令を使用して書いてください。 注2. TA2IN∼TA4IN、TA2OUT∼TA4OUT端子に対応するポート方向ビットは“0”(入力モード)にしてください。 注3. 二相パルス信号処理機能を使用しない場合、タイマA2∼タイマA4に対応するビットを“0”にしてください。 図2.10.5. TA0∼TA4、TABSR、UDFレジスタ Rev.1.00 2004.03.01 page 88 of 311 M306H3MC-XXXFP/FCFP ワンショット開始フラグ b7 b6 b5 b4 b3 b2 b1 b0 シンボル ONSF 0 アドレス 038216番地 ビットシンボル TA0OS TA1OS TA2OS TA3OS TA4OS リセット後の値 0016 ビット名 機 能 タイマA0ワンショット開始フラグ TAiMRレジスタ(i=0∼4)のTMOD1 ∼TMOD0ビットが“10 2 ”(ワンシ タイマA1ワンショット開始フラグ ョットタイマモード)、かつTAiMR タイマA2ワンショット開始フラグ レジスタのMR2ビットが“0” (TAiOSビット有効)の場合、このビ タイマA3ワンショット開始フラグ ットを“1”にすると、タイマのカ ウントを開始する。 タイマA4ワンショット開始フラグ 読んだ場合、その値は“0”。 予約ビット “0”にしてください。 (b5) TA0TGL タイマA0イベント/ トリガ選択ビット TA0TGH RW RW RW RW RW RW RW b7 b6 RW 0 0 : TA0IN端子の入力を選択(注1) 0 1 : TB2のオーバフローを選択(注2) 1 0 : TA4のオーバフローを選択(注2) RW 1 1 : TA1のオーバフローを選択(注2) 注1. PD7レジスタのPD7_1ビットを“0”(入力モード)にしてください。 注2. オーバフローまたはアンダフロー トリガ選択レジスタ b7 b6 b5 b4 b3 b2 b1 b0 シンボル TRGSR アドレス 038316番地 ビット名 ビットシンボル TA1TGL タイマA1イベント/ トリガ選択ビット TA1TGH TA2TGL タイマA2イベント/ トリガ選択ビット TA2TGH TA3TGL タイマA3イベント/ トリガ選択ビット TA3TGH TA4TGL リセット後の値 0016 タイマA4イベント/ トリガ選択ビット TA4TGH 機 能 RW b1 b0 0 0 : TA1IN端子の入力を選択(注1) 0 1 : TB2を選択 1 0 : TA0を選択 1 1 : TA2を選択 RW RW b3 b2 0 0 : TA2IN端子の入力を選択(注1) 0 1 : TB2を選択 1 0 : TA1を選択 1 1 : TA3を選択 RW RW b5 b4 0 0 : TA3IN端子の入力を選択(注1) 0 1 : TB2を選択 1 0 : TA2を選択 1 1 : TA4を選択 RW RW b7 b6 0 0 : TA4IN端子の入力を選択(注1) 0 1 : TB2を選択 1 0 : TA3を選択 1 1 : TA0を選択 RW RW 注1. TA1IN∼TA4IN端子に対応するポート方向ビットは“0”(入力モード)にしてください。 時計用プリスケーラリセットフラグ b7 b6 b5 b4 b3 b2 b1 b0 シンボル CPSRF アドレス 038116番地 ビット名 ビットシンボル (b6-b0) CPSR 2004.03.01 page 89 of 311 機 能 RW 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 時計用プリスケーラ リセットフラグ 図2.10.6. ONSF、TRGSR、CPSRFレジスタ Rev.1.00 リセット後の値 0XXXXXXX2 このビットを“1”にすると時計用 プリスケーラが初期化される (読んだ場合、その値は“0”) RW M306H3MC-XXXFP/FCFP (1) タイマモード 内部で生成されたカウントソースをカウントするモードです(表2.10.1)。図2.10.7にタイマモード時の TAiMRレジスタを示します。 表2.10.1. タイマモードの仕様 項 目 仕 様 カウントソース f1、f2、f8、f32、fC32 カウント動作 ●ダウンカウント ●アンダフロー時リロードレジスタの内容をリロードしてカウントを継続 分周比 1/(n+1) n:TAiMRレジスタ(i=0∼4)の設定値 000016∼FFFF16 カウント開始条件 TABSRレジスタのTAiSビットを“1”(カウント開始)にする カウント停止条件 TAiSビットを“0”(カウント停止)にする 割り込み要求発生タイミング アンダフロー時 TAiIN端子機能 入出力ポートまたはゲート入力 TAiOUT端子機能 入出力ポートまたはパルス出力 タイマの読み出し タイマの書き込み TAiレジスタを読むと、カウント値が読める ●カウント停止中とカウント開始後1回目のカウントソースが入力されるまで TAiレジスタに書くと、リロードレジスタ、カウンタの両方に書かれる ●カウント中(ただし、1回目のカウントソース入力後) TAiレジスタに書くと、リロードレジスタに書かれる(次のリロード時に転送) ●ゲート機能 TAiIN端子の入力信号によってカウント開始、停止が可能 ●パルス出力機能 アンダフローするごとにTAiOUT端子の出力極性が反転。カウント停止中は“L” を出力 選択機能 タイマAiモードレジスタ(i=0∼4) b7 b6 b5 b4 0 b3 b2 b1 b0 0 0 シンボル TA0MR∼TA4MR ビット名 ビットシンボル TMOD0 アドレス 039616∼039A16番地 動作モード選択ビット TMOD1 MR0 MR1 パルス出力機能選択ビット ゲート機能選択ビット MR2 MR3 TCK0 機 能 b1 b0 0 0 : タイマモード 0 : パルス出力なし (TAiOUT端子は入出力ポート) 1 : パルス出力あり(注1) (TAiOUT端子はパルス出力端子) カウントソース選択ビット 2004.03.01 page 90 of 311 RW RW RW RW RW RW b7 b6 0 0 : f1またはf2 0 1 : f8 1 0 : f32 1 1 : fC32 注1. TA0OUT端子はNチャネルオープンドレイン出力。 注2. TAiIN端子に対応するポート方向ビットは“0”(入力モード)にしてください。 図2.10.7. タイマモード時のTAiMRレジスタ RW b4 b3 0 0: ゲート機能なし } (TAiIN端子は入出力ポート) 0 1: 1 0: TAiIN端子に“L”が入力されて いる期間カウントする(注2) 1 1: TAiIN端子に“H”が入力されて いる期間カウントする(注2) タイマモードでは“0”にしてください TCK1 Rev.1.00 リセット後の値 0016 RW RW M306H3MC-XXXFP/FCFP (2) イベントカウンタモード 外部信号、他のタイマのオーバフロー、または他のタイマのアンダフローをカウントするモードです。 タイマA2、A3、A4は二相の外部信号をカウントできます。表2.10.2にイベントカウンタモードの仕様(二 相パルス信号処理を使用しない場合)、図2.10.8にイベントカウンタモード時のTAiMRレジスタ(二相パル ス信号処理を使用しない場合)を示します。 表2.10.2. イベントカウンタモードの仕様(二相パルス信号処理を使用しない場合) 項 目 カウントソース 仕 様 ●TAiIN端子(i=0∼4)に入力された外部信号(プログラムで有効エッジを選択可能) ●タイマB2のオーバフローまたはアンダフロー、タイマAj(j=i‐ 1 、ただしi=0 のときj=4)のオーバフローまたはアンダフロー、タイマAk(k=i+1 、ただしi=4 のときk=0)のオーバフローまたはアンダフロー ●アップカウントまたはダウンカウントを外部信号またはプログラムで選択可能 ●オーバフローまたはアンダフロー時は、リロードレジスタの内容をリロードしてカウン トを継続する。フリーラン機能選択時は、リロードせずカウントを継続する。 ●アップカウント時 1/(FFFF16−n+1) ●ダウンカウント時 1/(n+1) n:TAiレジスタの設定値 000016∼FFFF16 TABSRレジスタのTAiSビットを“1”(カウント開始)にする TAiSビットを“0”(カウント停止)にする オーバフロー時またはアンダフロー時 入出力ポートまたはカウントソース入力 入出力ポート、パルス出力、またはアップカウント/ダウンカウント切り替え入力 TAiレジスタを読むと、カウント値が読める ●カウント停止中とカウント開始後1回目のカウントソースが入力されるまで TAiレジスタに書くと、リロードレジスタ、カウンタの両方に書かれる ●カウント中(ただし、1回目のカウントソース入力後) TAiレジスタに書くと、リロードレジスタに書かれる(次のリロード時に転送) ●フリーランカウント機能 オーバフローまたはアンダフローが発生してもリロードレジスタからリロードしない ●パルス出力機能 オーバフローまたはアンダフローするごとにTAiOUT端子の出力極性が反転。 カウント停止中は“L”を出力 カウント動作 分周比 カウント開始条件 カウント停止条件 割り込み要求発生タイミング TAiIN端子機能 TAiOUT端子機能 タイマの読み出し タイマの書き込み 選択機能 タイマAiモードレジスタ(i=0∼4)(二相パルス信号処理を使用しない場合) b7 b6 b5 0 b4 b3 b2 b1 シンボル TA0MR∼TA4MR b0 0 1 ビットシンボル ビットシンボル TMOD0 アドレス 039616∼039A16番地 ビット名 ビット名 動作モード選択ビット TMOD1 MR0 パルス出力機能選択ビット リセット後の値 0016 機 能 機 能 b1 b0 0 1 : イベントカウンタモード(注1) 0 : パルス出力なし (TAiOUT端子は入出力ポート) 1 : パルス出力あり(注2) (TAiOUT端子はパルス出力端子) RW R W RW RW RW MR1 カウント極性選択ビット(注3) 0 : 外部信号の立ち下がりをカウント RW 1 : 外部信号の立ち上がりをカウント MR2 アップ/ダウン切り替え 要因選択ビット 0 : UDFレジスタ 1 : TAiOUT端子の入力信号(注4) MR3 イベントカウンタモードでは“0”にしてください TCK0 カウントタイプ選択ビット TCK1 二相パルス信号処理を使用しない場合は“0”、“1”いずれでも可 0 :リロードタイプ 1 :フリーランタイプ RW RW RW RW 注1. イベントカウンタモードではカウントソースをONSFレジスタ、TRGSRレジスタで選択できます。 注2. TA0OUT端子はNチャネルオープンドレイン出力。 注3. ONSFレジスタまたはTRGSRレジスタのTAiGH、TAiGLビットが“002”(TAiIN端子の入力)のとき有効。 注4. TAiOUT端子に“L”が入力されているときダウンカウント、“H”が入力されているときアップカウントします。 TAiOUT端子に対応するポート方向ビットは“0”(入力モード)にしてください。 図2.10.8. イベントカウンタモード時のTAiMRレジスタ(二相パルス信号処理を使用しない場合) Rev.1.00 2004.03.01 page 91 of 311 M306H3MC-XXXFP/FCFP 表2.10.3にイベントカウンタモードの仕様(タイマA2、A3、A4で二相パルス信号処理を使用する場合)、 図2.10.9にイベントカウンタモード時のTA2MR∼TA4MRレジスタ(タイマA2、A3、A4で二相パルス信号 処理を使用する場合)を示します。 表2.10.3. イベントカウンタモードの仕様(タイマA2、A3、A4で二相パルス信号処理を使用する場合) 項 目 カウントソース カウント動作 仕 様 ●TAiIN、TAiOUT端子(i=2∼4)に入力された二相パルス信号 ●アップカウントまたはダウンカウントを、二相パルス信号によって切り替え可 分周比 カウント開始条件 カウント停止条件 割り込み要求発生タイミング TAiIN端子機能 TAiOUT端子機能 タイマの読み出し タイマの書き込み 選択機能(注1) ●オーバフローまたはアンダフロー時は、リロードレジスタの内容をリロードしてカウン トを継続する。フリーラン機能選択時は、リロードせずカウントを継続する。 ●アップカウント時 1/(FFFF16−n+1) ●ダウンカウント時 1/(n+1) n:TAiレジスタの設定値 000016∼FFFF16 TABSRレジスタのTAiSビットを“1”(カウント開始)にする TAiSビットを“0”(カウント停止)にする オーバフロー時またはアンダフロー時 二相パルス入力 二相パルス入力 タイマA2、A3、A4レジスタを読むと、カウント値が読める ●カウント停止中とカウント開始後1回目のカウントソースが入力されるまで TAiレジスタに書くと、リロードレジスタ、カウンタの両方に書かれる ●カウント中(ただし、1回目のカウントソース入力後) TAiレジスタに書くと、リロードレジスタに書かれる(次のリロード時に転送) ●通常処理動作(タイマA2、タイマA3) TAjOUT端子(j=2、3)の入力信号が“H”の期間、TAjIN端子の立ち上がりをアッ プカウントし、立ち下がりをダウンカウントします。 TAjOUT TAjIN (j=2、3) アップ カウント アップ カウント アップ カウント ダウン カウント ダウン カウント ダウン カウント ●4逓倍処理動作(タイマA3、タイマA4) TAkOUT端子(k=3、4)の入力信号が“H”の期間にTAkIN端子が立ち上がる位相 関係の場合、TAkOUT、TAkIN端子の立ち上がり、立ち下がりをアップカウント します。TAkOUT端子の入力信号が“H”の期間にTAkIN端子が立ち下がる位相 関係の場合、TAkOUT、TAkIN端子の立ち上がり、立ち下がりをダウンカウント します。 TAkOUT すべてのエッジをアップカウント すべてのエッジをダウンカウント TAkIN (k=3、4) すべてのエッジをアップカウント すべてのエッジをダウンカウント 注1. タイマA3は選択できます。タイマA2は通常処理動作、タイマA4は4逓倍処理動作です。 Rev.1.00 2004.03.01 page 92 of 311 M306H3MC-XXXFP/FCFP タイマAiモードレジスタ(i=2∼4)(二相パルス信号処理を使用する場合) b7 b6 b5 b4 b3 b2 b1 b0 0 1 0 0 0 1 シンボル TA2MR∼TA4MR ビットシンボル TMOD0 アドレス 039816∼039A16番地 ビット名 ビット名 動作モード選択ビット TMOD1 リセット後の値 0016 機 能 機 能 b1 b0 0 1 : イベントカウンタモード RW R W RW RW MR0 二相パルス信号処理を使用する場合、“0”にしてください。 RW MR1 二相パルス信号処理を使用する場合、“0”にしてください。 RW MR2 二相パルス信号処理を使用する場合、“1”にしてください。 RW MR3 二相パルス信号処理を使用する場合、“0”にしてください。 RW TCK0 カウント動作タイプ選択 ビット 0 : リロードタイプ 1 : フリーランタイプ RW TCK1 二相パルス処理動作選択 ビット(注1)(注2) 0 : 通常処理動作 1 :4逓倍処理動作 RW 注1. タイマA3は選択できます。このビットにかかわらずタイマA2は通常処理動作に、タイマA4は4逓倍処理動作に固定です。 注2. 二相パルス信号処理を行う場合、次のとおりしてください。 ・UDFレジスタのTAiPビットを“1”(二相パルス信号処理機能を許可)にする ・TRGSRレジスタのTAiGH、TAiGLビットを“002”(TAiIN端子入力)にする ・TAiIN、TAiOUTに対応するポート方向ビットを“0”(入力モード)にする 図2.10.9. イベントカウンタモード時のTA2MRレジスタ∼TA4MRレジスタ (タイマA2、A3、A4で二相パルス信号処理を使用する場合) Rev.1.00 2004.03.01 page 93 of 311 M306H3MC-XXXFP/FCFP (3) ワンショットタイマモード 1度のトリガに対して1度だけタイマを動作するモードです(表2.10.4)。トリガが発生するとその時点か ら任意の期間、タイマが動作します。図2.10.10にワンショットタイマモード時のTAiMRレジスタを示し ます。 表2.10.4. ワンショットタイマモードの仕様 項 目 カウントソース カウント動作 仕 様 f1、f2、f8、f32、fC32 ●ダウンカウント ●カウンタが000016になるタイミングでリロードしてカウントを停止 ●カウント中にトリガが発生した場合、リロードしてカウントを継続 1/n n:TAiレジスタ(i=0∼4)の設定値 000016∼FFFF16 ただし、000016を設定した場合、カウンタは動作しない TABSRレジスタのTAiSビットが“1”(カウント開始)で、かつ次のトリガが発生 ●TAiIN端子からの外部トリガ入力 ●タイマB2のオーバフローまたはアンダフロー、タイマAj(j=i‐ 1 、ただしi=0 のときj=4)のオーバフローまたはアンダフロー、タイマAk(k=i+1 、ただしi=4 のときk=0)のオーバフローまたはアンダフロー ●ONSFレジスタのTAiOSビットを“1”(タイマスタート)にする ●カウント値が000016になりリロードした後 ●TAiSビットを“0”(カウント停止)にする カウント値が000016になるタイミング 入出力ポートまたはトリガ入力 入出力ポートまたはパルス出力 TAiレジスタを読むと、不定値が読める ●カウント停止中とカウント開始後1回目のカウントソースが入力されるまで TAiレジスタに書くと、リロードレジスタ、カウンタの両方に書かれる ●カウント中(ただし、1回目のカウントソース入力後) TAiレジスタに書くと、リロードレジスタに書かれる(次のリロード時に転送) ●パルス出力機能 カウント停止中は“L”、カウント中は“H”を出力 分周比 カウント開始条件 カウント停止条件 割り込み要求発生タイミング TAiIN端子機能 TAiOUT端子機能 タイマの読み出し タイマの書き込み 選択機能 タイマAiモードレジスタ(i=0∼4) b7 b6 b5 0 b4 b3 b2 b1 b0 1 0 シンボル TA0MR∼TA4MR ビットシンボル TMOD0 アドレス 039616∼039A16番地 ビット名 動作モード選択ビット TMOD1 MR0 リセット後の値 0016 パルス出力機能選択ビット 機 能 b1 b0 1 0 : ワンショットタイマモード RW 0 : TAiIN端子の入力信号の立ち下がり(注3) 1 : TAiIN端子の入力信号の立ち上がり(注3) MR2 トリガ選択ビット 0 : TAiOSビットが有効 1 : TAiTGH∼TAiTGLビットで選択 MR3 ワンショットタイマモードでは“0”にしてください TCK0 カウントソース選択ビット 2004.03.01 page 94 of 311 RW RW b7 b6 0 0 : f1またはf2 0 1 : f8 1 0 : f32 1 1 : fC32 注1. TA0OUT端子はNチャネルオープンドレイン出力。 注2. ONSFレジスタまたはTRGSRレジスタのTAiTGH、TAiTGLビットが“00 2”(TAiIN端子の入力)のとき有効。 注3. TAiIN端子に対応するポート方向ビットは“0”(入力モード)に してください。 Rev.1.00 RW RW 外部トリガ選択ビット(注2) 図2.10.10. ワンショットタイマモード時のTAiMRレジスタ RW 0 : パルス出力なし (TAiOUT端子は入出力ポート) 1 : パルス出力あり(注1) (TAiOUT端子はパルス出力端子) MR1 TCK1 RW RW RW M306H3MC-XXXFP/FCFP (4) パルス幅変調モード(PWMモード) 任意の幅のパルスを連続して出力するモードです(表2.10.5)。このモードでは、カウンタは、16ビット パルス幅変調器、8ビットパルス幅変調器のいずれかのパルス幅変調器として動作します。図2.10.11にパ ルス幅変調モード時のTAiMRレジスタ、図2.10.12に16ビットパルス幅変調器の動作例、図2.10.13に8ビッ トパルス幅変調器の動作例を示します。 表2.10.5. パルス幅変調モードの仕様 項 目 仕 様 カウントソース f1、f2、f8、f32、fC32 カウント動作 ●ダウンカウント(8ビット、または16ビットパルス幅変調器として動作) ●PWMパルスの立ち上がりでリロードしてカウントを継続 ●カウント中にトリガが発生した場合、カウントに影響しない 16ビットPWM ●“H”幅 n / fj n:TAiレジスタの設定値(i=0∼4) 16 ●周期 (2 −1) / fj固定 fj:カウントソースの周波数(f1、f2、f8、f32、fC32) 8ビットPWM ●“H”幅 n×(m+1) / fj n:TAiレジスタの上位番地の設定値 ●周期 (28−1)×(m+1) / fj m:TAiレジスタの下位番地の設定値 カウント開始条件 ●TABSRレジスタのTAiSビットを“1”(カウント開始)にする ●TAiSビットが “1”で、かつTAiIN端子からの外部トリガ入力 ●TAiSビットが “1”で、かつ次のトリガが発生 タイマB2のオーバフローまたはアンダフロー、タイマAj(j=i - 1、ただしi=0 のときj=4)のオーバフローまたはアンダフロー、タイマAk(k=i + 1、ただしi=4 のときk=0)のオーバフローまたはアンダフロー カウント停止条件 ●TAiSビットを“0”(カウント停止)にする 割り込み要求発生タイミング PWMパルスの立ち下がり時 TAiIN端子機能 入出力ポートまたはトリガ入力 TAiOUT端子機能 パルス出力 タイマの読み出し TAiレジスタを読むと、不定値が読める タイマの書き込み ●カウント停止中とカウント開始後1回目のカウントソースが入力されるまで TAiレジスタに書くと、リロードレジスタ、カウンタの両方に書かれる ●カウント中(ただし、1回目のカウントソース入力後) TAiレジスタに書くと、リロードレジスタに書かれる(次のリロード時に転送) タイマAiモードレジスタ(i=0∼4) b7 b6 b5 b4 b3 b2 b1 b0 シンボル TA0MR∼TA4MR 1 1 1 ビットシンボル TMOD0 アドレス 039616∼039A16番地 ビット名 動作モード選択ビット リセット後の値 0016 機 能 b1 b0 1 1 : パルス幅変調(PWM)モード(注1) TMOD1 PWMモードでは“1”にしてください。 MR1 外部トリガ選択ビット(注2) 0 : TAiIN端子の入力信号の立ち下がり(注3) 1 : TAiIN端子の入力信号の立ち上がり(注3) MR2 トリガ選択ビット 0 : TABSRレジスタのTAiSビットへの“1”書込み 1 : TAiTGH∼TAiTGLビットで選択 RW MR3 16/8ビットPWMモード 選択ビット 0 : 16ビットパルス幅変調器として動作 1 : 8ビットパルス幅変調器として動作 RW TCK0 カウントソース選択ビット 図2.10.11. パルス幅変調モード時のTAiMRレジスタ page 95 of 311 RW b7 b6 0 0 : f1またはf2 0 1 : f8 1 0 : f32 1 1 : fC32 注1. TA0OUT端子はNチャネルオープンドレイン出力。 注2. ONSFレジスタまたはTRGSRレジスタのTAiTGH、TAiTGLビットが“00 2”(TAiIN端子の入力)のとき有効。 注3. TAiIN端子に対応するポート方向ビットは“0”(入力モード)に してください。 2004.03.01 RW RW MR0 TCK1 Rev.1.00 RW RW RW RW M306H3MC-XXXFP/FCFP 1 / fj ×(216 –1) カウントソース TAiIN端子の入力信号 “H” “L” この信号ではトリガは発生しない 1 / fj × n TAiOUT端子からの “H” PWMパルス出力 “L” TAiICレジスタのIRビット “1” “0” fj:カウントソースの周波数 (f1、f2、f8、f32、fc32) i=0∼4 割り込み要求の受け付け、またはプログラムで“0”にする 注1. n=000016∼FFFE16。 注2. この図はTAiレジスタが“000316”、ONSFレジスタまたはTRGSRレジスタのTAiTGH、TAiTGLビットが“00 2” (TAiIN端子の入力)、TAiMRレジスタのMR1ビットが“1”(立ち上がり)、TAiMRレジスタのMR2ビットが“1” (TAiTGH、TAiTGLビットでトリガ選択)の場合です。 図2.10.12. 16ビットパルス幅変調器の動作例 1 / fj×(m + 1)×(2 8 – 1) カウントソース(注1) TAiIN端子の入力信号 “H” “L” 1 / fj×(m+1) 8ビットプリスケーラの “H” アンダフロー信号(注2) “L” 1 / fj×(m + 1)×n TAiOUT端子からの “H” PWMパルス出力 “L” TAiICレジスタのIRビット “1” “0” fj:カウントソースの周波数 (f1、f2、f8、f32、fC32) i=0∼4 割り込み要求の受け付け、またはプログラムで“0”にする 注1. 8ビットプリスケーラはカウントソースをカウントします。 注2. 8ビットパルス幅変調器は8ビットプリスケーラのアンダフロー信号をカウントします。 注3. m=0016∼FF16、n=0016∼FE16。 注4. この図はTAiレジスタが“020216”、ONSFレジスタまたはTRGSRレジスタのTAiTGH、TAiTGLビットが“002” (TAiIN端子の入力)、TAiMRレジスタのMR1ビットが“0”(立ち下がり)、TAiMRレジスタのMR2ビットが“1” (TAiTGH、TAiTGLビットでトリガ選択)の場合です。 図2.10.13. 8ビットパルス幅変調器の動作例 Rev.1.00 2004.03.01 page 96 of 311 M306H3MC-XXXFP/FCFP 2.10.2 タイマB 図2.10.14にタイマBブロック図、図2.10.15、図2.10.16にタイマB関連レジスタを示します。 タイマBは次の3種類のモードがあり、モードは、TBiMRレジスタ(i=0∼5)のTMOD1∼TMOD0ビット で選択できます。 ・タイマモード 内部カウントソースをカウントするモード ・イベントカウンタモード 外部からのパルス、他のタイマのオーバフロー、または他のタイマの アンダフローをカウントするモード ・パルス周期測定モード、パルス幅測定モード 外部パルスの周期またはパルス幅を測定するモード データバス上位 データバス下位 クロック源選択 上位8ビット 下位8ビット f1またはf2 f8 f32 fc32 ・タイマモード ・パルス周期測定モード、パルス幅測定モード リロードレジスタ クロック選択 カウンタ ・イベントカウンタモード TABSRレジスタ TBSRレジスタ 極性切り替え、 エッジパルス TBiIN (i=0∼5) TBi タイマB0 タイマB1 タイマB2 タイマB3 タイマB4 タイマB5 カウンタリセット回路 イベントカウンタモード時 に選択できます TBjオーバフロー(注1) j = i− 1 ただしi = 0のときj = 2 i = 3のときj = 5 番地 039116 039016 039316 039216 039516 039416 035116 035016 035316 035216 035516 035416 TBj タイマB2 タイマB0 タイマB1 タイマB5 タイマB3 タイマB4 注1. オーバフローまたはアンダフロー 図2.10.14. タイマBブロック図 タイマBiモードレジスタ(i=0∼5) b7 b6 b5 b4 b3 b2 b1 b0 シンボル TB0MR∼TB2MR TB3MR∼TB5MR ビット名 ビットシンボル TMOD0 動作モード選択ビット TMOD1 MR0 アドレス 039B16∼039D16番地 035B16∼035D16番地 リセット後の値 00XX00002 00XX00002 機 能 RW b1 b0 0 0 : タイマモード 0 1 : イベントカウンタモード 1 0 : パルス周期測定モード、 パルス幅測定モード 1 1 : 設定しないでください 動作モードによって機能が異なる MR1 RW RW RW RW RW MR2 (注1) (注2) MR3 RO TCK0 RW TCK1 カウントソース選択ビット (動作モードによって機能が異なる) 注1. タイマB0、タイマB3。 注2. タイマB1、タイマB2、タイマB4、タイマB5。 図2.10.15. TB0MR∼TB5MRレジスタ Rev.1.00 2004.03.01 page 97 of 311 RW M306H3MC-XXXFP/FCFP シンボル TB0 TB1 TB2 TB3 TB4 TB5 タイマBiレジスタ(i=0∼5) (注1) (b15) b7 (b8) b0 b7 b0 モード アドレス リセット後の値 039116-039016番地 不定 039316-039216番地 不定 039516-039416番地 不定 035116-035016番地 不定 035316-035216番地 不定 035516-035416番地 不定 機 能 設定範囲 タイマモード 設定値をnとすると、カウント ソースをn+1分周する 000016∼FFFF16 イベントカウンタ モード 設定値をnとすると、カウント ソースをn+1分周する(注2) 000016∼FFFF16 パルス周期測定モード パルス幅測定モード パルス周期またはパルス幅を 測定する RW RW RW RO 注1. 16ビット単位でアクセスしてください。 注2. 外部からのパルス、他のタイマのオーバフロー、または他のタイマのアンダフローをカウントします。 カウント開始フラグ b7 b6 b5 b4 b3 b2 b1 b0 シンボル TABSR アドレス 038016番地 リセット後の値 0016 ビットシンボル ビット名 TA0S タイマA0カウント開始フラグ 機 能 TA1S タイマA1カウント開始フラグ TA2S タイマA2カウント開始フラグ RW TA3S タイマA3カウント開始フラグ RW TA4S タイマA4カウント開始フラグ RW TB0S タイマB0カウント開始フラグ RW TB1S タイマB1カウント開始フラグ RW TB2S タイマB2カウント開始フラグ RW 0 : カウント停止 1 : カウント開始 RW RW RW タイマB3,4,5カウント開始フラグ b7 b6 b5 b4 b3 b2 b1 b0 シンボル TBSR アドレス 034016番地 リセット後の値 000XXXXX2 ビット名 ビットシンボル 機 能 (b4-b0) 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 TB3S タイマB3カウント開始フラグ TB4S タイマB4カウント開始フラグ TB5S タイマB5カウント開始フラグ 0 : カウント停止 1 : カウント開始 RW RW RW RW 時計用プリスケーラリセットフラグ b7 b6 b5 b4 b3 b2 b1 b0 シンボル CPSRF ビットシンボル (b6-b0) CPSR アドレス 038116番地 リセット後の値 0XXXXXXX2 ビット名 2004.03.01 page 98 of 311 RW 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 時計用プリスケーラ リセットフラグ 図2.10.16. TB0∼TB5、TABSR、TBSR、CPSRFレジスタ Rev.1.00 機 能 このビットを“1”にすると時計用 プリスケーラが初期化される (読んだ場合、その値は“0”) RW M306H3MC-XXXFP/FCFP (1) タイマモード 内部で生成されたカウントソースをカウントするモードです(表2.10.6)。図2.10.17にタイマモード時の TBiMRレジスタを示します。 表2.10.6. タイマモードの仕様 項 目 カウントソース カウント動作 仕 様 f1、f2、f8、f32、fC32 ●ダウンカウント ●アンダフロー時リロードレジスタの内容をリロードしてカウントを継続 分周比 1/(n+1) n:TBiMRレジスタの設定値(i=0∼5) 000016∼FFFF16 カウント開始条件 TBiSビット(注1)を“1”(カウント開始)にする カウント停止条件 TBiSビットを“0”(カウント停止)にする 割り込み要求発生タイミング アンダフロー時 TBiIN端子機能 入出力ポート タイマの読み出し TBiレジスタを読むと、カウント値が読める タイマの書き込み ●カウント停止中とカウント開始後1回目のカウントソースが入力されるまで TBiレジスタに書くと、リロードレジスタ、カウンタの両方に書かれる ●カウント中(ただし、1回目のカウントソース入力後) TBiレジスタに書くと、リロードレジスタに書かれる(次のリロード時に転送) 注1. TB0S∼TB2SビットはTABSRレジスタのビット5∼7、TB3S∼TB5SビットはTBSRレジスタのビット5∼7です。 タイマBiモードレジスタ(i=0∼5) b7 b6 b5 b4 b3 b2 b1 b0 シンボル TB0MR∼TB2MR TB3MR∼TB5MR 0 0 ビット名 ビットシンボル TMOD0 アドレス 039B16∼039D16番地 035B16∼035D16番地 動作モード選択ビット TMOD1 MR0 MR1 MR2 リセット後の値 00XX00002 00XX00002 機 能 b1 b0 0 0 : タイマモード RW RW RW タイマモードでは無効。 “0”または“1”いずれでも可。 TB0MR、TB3MRレジスタの場合 タイマモードでは“0”にしてください。 RW RW RW TB1MR、TB2MR、TB4MR、TB5MRレジスタの場合 何も配置されていない。 書く場合、“0”を書いてください。読んだ場合、その値は不定。 MR3 TCK0 タイマモードで書く場合、“0”を書いてください。 タイマモードで読んだ場合、その値は不定。 カウントソース選択ビット TCK1 図2.10.17. タイマモード時のTBiMRレジスタ Rev.1.00 2004.03.01 page 99 of 311 RO b7 b6 0 0 : f1またはf2 0 1 : f8 1 0 : f32 1 1 : fC32 RW RW M306H3MC-XXXFP/FCFP (2) イベントカウンタモード 外部信号、他のタイマのオーバフロー、または他のタイマのアンダフローをカウントするモードです (表2.10.7)。図2.10.20にイベントカウンタモード時のTBiMRレジスタを示します。 表2.10.7. イベントカウンタモードの仕様 項 目 カウントソース 仕 様 ●TBiIN端子(i=0∼5)に入力された外部信号(プログラムで有効エッジを選択可能) ●タイマBjのオーバフローまたはアンダフロー(j=i‐ 1 、ただしi=0 のときj=2、 i=3 のときj=5) ●ダウンカウント ●アンダフロー時は、リロードレジスタの内容をリロードしてカウントを継続 ●1/(n+1) n:TBiレジスタの設定値 000016∼FFFF16 TBiSビット(注1)を“1”(カウント開始)にする TBiSビットを“0”(カウント停止)にする アンダフロー時 カウントソース入力 TBiレジスタを読むと、カウント値が読める ●カウント停止中とカウント開始後1回目のカウントソースが入力されるまで TBiレジスタに書くと、リロードレジスタ、カウンタの両方に書かれる ●カウント中(ただし、1回目のカウントソース入力後) TBiレジスタに書くと、リロードレジスタに書かれる(次のリロード時に転送) カウント動作 分周比 カウント開始条件 カウント停止条件 割り込み要求発生タイミング TBiIN端子機能 タイマの読み出し タイマの書き込み 注1. TB0S∼TB2SビットはTABSRレジスタのビット5∼7、TB3S∼TB5SビットはTBSRレジスタのビット5∼7です。 タイマBiモードレジスタ(i=0∼5) b7 b6 b5 b4 b3 b2 b1 b0 0 1 シンボル TB0MR∼TB2MR TB3MR∼TB5MR ビットシンボル TMOD0 アドレス 039B16∼039D16番地 035B16∼035D16番地 ビット名 動作モード選択ビット カウント極性選択ビット(注1) MR1 MR2 機 能 b1 b0 0 1 : イベントカウンタモード TMOD1 MR0 リセット後の値 00XX00002 00XX00002 RW RW RW b3 b2 0 0 : 外部信号の立ち下がりをカウント 0 1 : 外部信号の立ち上がりをカウント 1 0 : 外部信号の立ち下がりと 立ち上がりをカウント 1 1 : 設定しないでください TB0MR、TB3MRレジスタの場合 イベントカウンタモードでは“0”にしてください。 RW RW RW TB1MR、TB2MR、TB4MR、TB5MRレジスタの場合 何も配置されていない。 書く場合、“0”を書いてください。読んだ場合、その値は不定。 MR3 TCK0 イベントカウンタモードで書く場合、“0”を書いてください。 イベントカウンタモードで読んだ場合、その値は不定。 イベントカウンタモードでは無効。 “0”または“1”いずれでも可。 RO RW 0 : TBiIN端子からの入力(注2) 1 : TBjのオーバフローまたはアンダ RW フロー j = i - 1 ただしi = 0のときj = 2 i = 3のときj = 5 注1. TCK1ビットが“0”(TBiIN端子からの入力)の場合に有効です。TCK1ビットが“1”(TBjのオーバフローまたはアンダフロー) の場合は、“0”でも“1”でも可。 注2. TBiIN端子に対応するポート方向ビットは“0”(入力モード)にしてください。 TCK1 イベントクロック選択 図2.10.20. イベントカウンタモード時のTBiMRレジスタ Rev.1.00 2004.03.01 page 100 of 311 M306H3MC-XXXFP/FCFP (3) パルス周期測定モード、パルス幅測定モード 外部信号のパルス周期、またはパルス幅を測定するモードです(表2.10.8)。図2.10.21にパルス周期測定 モード、パルス幅測定モード時のTBiMRレジスタを示します。図2.10.22にパルス周期測定時の動作図、 図2.10.23にパルス幅測定時の動作図を示します。 表2.10.8. パルス周期測定モード、パルス幅測定モードの仕様 項 目 カウントソース カウント動作 カウント開始条件 カウント停止条件 割り込み要求発生タイミング TBiIN端子機能 タイマの読み出し タイマの書き込み 仕 様 f1、f2、f8、f32、fC32 ●アップカウント ●測定パルスの有効エッジで、リロードレジスタにカウンタの値を転送し、 カウンタの値を“000016”にしてカウントを継続 ●TBiSビット(i=0∼5)(注3)を“1”(カウント開始)にする ●TBiSビットを“0”(カウント停止)にする ●測定パルスの有効エッジ入力時(注1) ●オーバフロー時。オーバフローと同時にTBiMRレジスタのMR3ビットが“1” (オーバフローあり)になります。TBiSビットが“1”(カウント開始)のとき、 MR3ビットが“1”になった後の次のカウントタイミング以降に、TBiMRレ ジスタに書くと、MR3ビットは“0”(オーバフローなし)になります。 測定パルス入力 TBiレジスタを読むと、リロードレジスタの内容(測定結果)が読める(注2) TBiレジスタに書いた値は、リロードレジスタにもカウンタにも書かれない 注1. カウント開始後1回目の有効エッジ入力時は、割り込み要求は発生しません。 注2. カウント開始後2回目の有効エッジ入力までは、TBiレジスタを読んでも値は不定です。 注3. TB0S∼TB2SビットはTABSRレジスタのビット5∼7、TB3S∼TB5SビットはTBSRレジスタのビット5∼7です。 タイマBiモードレジスタ(i=0∼5) b7 b6 b5 b4 b3 b2 b1 b0 1 0 シンボル TB0MR∼TB2MR TB3MR∼TB5MR ビットシンボル TMOD0 アドレス 039B16∼039D16番地 035B16∼035D16番地 ビット名 動作モード選択ビット 機 能 b1 b0 1 0 : パルス周期測定モード、 パルス幅測定モード TMOD1 MR0 リセット後の値 00XX00002 00XX00002 測定モード選択ビット MR1 RW RW RW b3 b2 0 0 : パルス周期測定 (測定パルスの立ち下がりから次の立ち下がり間の測定) 0 1 : パルス周期測定 (測定パルスの立ち上がりから次の立ち上がり間の測定) 1 0 : パルス幅測定 (測定パルスの立ち下がりから次の立ち上がり間の測定と 立ち上がりから次の立ち下がり間の測定) RW RW 1 1 : 設定しないでください MR2 TB0MR、TB3MRレジスタの場合 パルス周期測定モード、パルス幅測定モードでは“0”にしてください。 RW TB1MR、TB2MR、TB4MR、TB5MRレジスタの場合 何も配置されていない。 書く場合、“0”を書いてください。読んだ場合、その値は不定。 MR3 タイマBiオーバフロー フラグ(注1) TCK0 カウントソース選択ビット TCK1 0 : オーバフローなし 1 : オーバフローあり RO b7 b6 0 0 : f1またはf2 0 1 : f8 1 0 : f32 1 1 : fC32 RW RW 注1. リセット後は不定です。TBiSビットが“1”(カウント開始)のとき、MR3ビットが“1”(オーバフローあり)になった後の次のカウント タイミング以降に、TBiMRレジスタに書くと、MR3ビットは“0”(オーバフローなし)になります。MR3ビットをプログラムで“1”に できません。TB0S∼TB2SビットはTABSRレジスタのビット5∼7、TB3S∼TB5SビットはTBSRレジスタのビット5∼7です。 図2.10.21. パルス周期測定モード、パルス幅測定モード時のTBiMRレジスタ Rev.1.00 2004.03.01 page 101 of 311 M306H3MC-XXXFP/FCFP カウントソース “H” “L” 測定パルス 転送 (不定値) 転送 (測定値) リロードレジスタ カウンタ 転送タイミング (注2) (注1) (注1) カウンタが“000016”に なるタイミング “1” TBiSビット “0” TBiICレジスタのIRビット “1” “0” 割り込み要求の受け付け、またはプログラムで“0”にする TBiMRレジスタのMR3ビット “1” “0” TB0S∼TB2SビットはTABSRレジスタのビット5∼7、TB3S∼TB5SビットはTBSRレジスタのビット5∼7です。 i=0∼5 注1. 測定完了によるカウンタの初期化。 注2. オーバフロー。 注3. この図はTBiMRレジスタのMR1∼MR0ビットが“00 2”(立ち下がりエッジから立ち下がりエッジまでを測定)の場合です。 図2.10.22. パルス周期測定時の動作図 カウントソース “H” 測定パルス “L” 転送 (不定値) 転送 (測定値) 転送 転送 (測定値) (測定値) リロードレジスタ カウンタ 転送タイミング (注1) (注1) (注1) (注1) (注2) カウンタが“000016”に なるタイミング TBiSビット “1” “0” TBiICレジスタのIRビット “1” “0” TBiMRレジスタのMR3ビット “1” 割り込み要求の受け付け、またはプログラムで“0”にする “0” TB0S∼TB2SビットはTABSRレジスタのビット5∼7、TB3S∼TB5SビットはTBSRレジスタのビット5∼7です。 i=0∼5 注1. 測定完了によるカウンタの初期化。 注2. オーバフロー。 注3. この図はTBiMRレジスタのMR1∼MR0ビットが“10 2”(立ち下がりから次の立ち上がり間の測定と立ち上がりから次の 立ち下がり間の測定)の場合です。 図2.10.23. パルス幅測定時の動作図 Rev.1.00 2004.03.01 page 102 of 311 M306H3MC-XXXFP/FCFP 2.11 シリアルI/O シリアルI/Oは、UART0∼UART2、SI/O3、 SI/O4の5チャネルで構成しています。 次にそれぞれについて説明します。 2.11.1 UARTi(i=0∼2) UARTiはそれぞれ専用の転送クロック発生用タイマを持ち、独立して動作します。 図2.11.1にUARTiブロック図、図2.11.2にUARTi送受信ブロック図を示します。 UARTiには、次のモードがあります。 ・クロック同期形シリアルI/Oモード ・クロック非同期形シリアルI/Oモード (UARTモード) ・特殊モード1(I2Cモード) ・特殊モード2 ・特殊モード3(バス衝突検出機能、IEモード):UART0、UART1 ・特殊モード4(SIMモード):UART2 図2.11.3∼図2.11.8に、UARTi関連のレジスタを示します。 レジスタの設定はモードごとの表を参照してください。 Rev.1.00 2004.03.01 page 103 of 311 M306H3MC-XXXFP/FCFP 1/2 f2SIO PCLK1=0 f1SIOまたはf2SIO f1SIO メインクロック PCLK1=1 1/8 f8SIO 1/4 (UART0) RxD0 f32SIO RxD極性切り替え回路 UART受信 クロック源選択 f1SIOまたはf2SIO f8SIO f32SIO CLK1∼CLK0 002 内部 CKDIR=0 012 102 外部 1/16 受信制御回路 クロック同期形 U0BRG レジスタ 1 / (n0+1) UART送信 1/16 送信制御回路 クロック同期形 CKDIR=1 1/2 受信 クロック TxD極性 切り替え 回路 TxD0 TxD極性 切り替え 回路 TxD1 TxD極性 切り替え 回路 TxD2 送受信部 送信 クロック クロック同期形 (内部クロック選択時) CKDIR=0 クロック同期形(外部クロック選択時) CKDIR=1 クロック同期形(内部クロック選択時) CKPOL CLK極性 切替回路 CLK0 CTS/RTS選択 CRS=1 CTS0 / RTS0 CTS/RTS禁止 RTS0 "H" CRS=0 CTS/RTS禁止 RCSP=0 CRD=1 CTS0 CRD=0 UART1からのCTS0 RCSP=1 (UART1) RxD1 RxD極性切り替え回路 UART受信 クロック源選択 f1SIOまたはf2SIO f8SIO f32SIO CLK1∼CLK0 002 内部 CKDIR=0 012 102 外部 1/16 1 / (n1+1) 送信制御回路 クロック同期形 CKDIR=1 送信 クロック CKDIR=1 クロック同期形(内部クロック選択時) CLKMD0=0 CLK極性 切り替え 回路 クロック出力 端子切り替え CLKMD1=1 CLKMD0=1 CTS/RTS選択 CRS=1 CLKMD1=0 CRS=0 CTS/RTS禁止 RTS1 "H" CTS/RTS禁止 CRD=1 RCSP=0 CTS1 UART0のCTS0へ CRD=0 RCSP=1 (UART2) RxD2 RxD極性切り替え回路 UART受信 クロック源選択 f1SIOまたはf2SIO f8SIO f32SIO CLK1∼CLK0 002 内部 CKDIR=0 012 102 外部 1/16 1 / (n2+1) UART送信 1/16 CLK2 CKDIR=1 クロック同期形 (内部クロック選択時) CKDIR=0 CKDIR=1 クロック同期形(内部クロック選択時) CLK極性 切り替え 回路 CTS/RTS選択 CTS/RTS禁止 RTS2 CRS=1 CTS2 / RTS2 送信制御回路 クロック同期形 クロック同期形(外部クロック選択時) CKPOL 受信制御回路 クロック同期形 U2BRG レジスタ 1/2 CRS=0 "H" CTS/RTS禁止 CRD=1 CTS2 CRD=0 i=0∼2 ni:UiBRGレジスタに設定した値 SMD2∼SMD0、CKDIR:UiMRレジスタのビット CLK1∼CLK0、CKPOL、CRD、CRS:UiC0レジスタのビット CLKMD0、CLKMD1、RCSP:UCONレジスタのビット 注1. UART2は、Nチャネルオープンドレイン出力です。CMOS出力は設定できません。 図2.11.1. UARTiブロック図 Rev.1.00 送受信 部 クロック同期形 (内部クロック選択時) CKDIR=0 クロック同期形(外部クロック選択時) CKPOL CTS1 / RTS1/ CTS0/ CLKS1 UART送信 1/16 1/2 CLK1 受信制御回路 クロック同期形 U1BRG レジスタ 受信 クロック 2004.03.01 page 104 of 311 受信 クロック 送信 クロック 送受信部 (注1) M306H3MC-XXXFP/FCFP 反転なし IOPOL=0 RxDデータ 反転回路 RxDi 反転あり IOPOL=1 1SP 2SP クロック 同期形 PAR禁止 STPS=0 SP クロック同期形 UART (7ビット) UART UART(7ビット) (8ビット) UARTi受信レジスタ PRYE=0 SP PAR PRYE=1 STPS=1 0 PAR許可 0 UART 0 0 0 UART (9ビット) 0 クロック同期形 UART (8ビット) UART (9ビット) D8 0 D7 D6 D5 D4 D3 D2 D1 D0 UiRBレジスタ 論理反転回路 + MSB/LSB変換回路 データバス上位 データバス下位 論理反転回路 + MSB/LSB変換回路 D8 D7 UART (9ビット) UART (8ビット) UART (9ビット) D6 D5 D4 D3 D2 D1 D0 UiTBレジスタ クロック同期形 2SP STPS=1 PAR許可 SP SP PRYE=1 UART PAR STPS=0 1SP PRYE=0 PAR禁止 “0” クロック 同期形 UART (7ビット) UART (8ビット) クロック同期形 UARTi送信レジスタ UART(7ビット) エラー信号出力禁止 UiERE=0 UiERE=1 エラー信号 出力回路 エラー信号出力許可 i=0∼2 SP:ストップビット PAR:パリティビット SMD2∼SMD0、STPS、PRYE、IOPOL、CKDIR:UiMRレジスタのビット UiERE:UiC1レジスタのビット 図2.11.2. UARTi送受信部ブロック図 Rev.1.00 2004.03.01 page 105 of 311 IOPOL =0 IOPOL =1 反転なし TxDデータ 反転回路 反転あり TxDi M306H3MC-XXXFP/FCFP UARTi送信バッファレジスタ(i=0∼2)(注1) (b15) b7 (b8) b0 b7 シンボル U0TB U1TB U2TB b0 アドレス 03A316-03A216番地 03AB16-03AA16番地 037B16-037A16番地 リセット後の値 不定 不定 不定 RW 機 能 送信データ WO 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 注1. このレジスタはMOV命令を使用して書いてください。 UARTi受信バッファレジスタ(i=0∼2) (b15) b7 (b8) b0 b7 b0 ビット シンボル シンボル U0RB U1RB U2RB アドレス 03A716-03A616番地 03AF16-03AE16番地 037F16-037E16番地 機能 ビット名 (b7-b0) (b8) (b10-b9) リセット後の値 不定 不定 不定 RW 受信データ(D7∼D0) RO 受信データ(D8) RO 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は“0”。 ABT アービトレーション ロスト検出フラグ(注2) 0 : 未検出(勝) 1 : 検出(負) RW OER オーバランエラーフラグ(注1) 0 : オーバランエラーなし 1 : オーバランエラー発生 RO FER フレーミングエラー フラグ(注1) 0 : フレーミングエラーなし 1 : フレーミングエラー発生 RO PER パリティエラーフラグ (注1) 0 : パリティエラーなし 1 : パリティエラー発生 RO SUM エラーサムフラグ (注1) 0 : エラーなし 1 : エラー発生 RO 注1. UiMRレジスタのSMD2∼SMD0ビットを“0002”(シリアルI/Oは無効)にしたとき、またはUiC1レジスタのREビットを“0”(受信禁止)にしたとき、SUM、PER、FER、 OERビットは、すべて“0”(エラーなし)になります。SUMビットはPER、FER、OERビットがすべて“0”(エラーなし)になると“0”(エラーなし)になります。 また、PER、FERビットは、UiRBレジスタの下位バイトを読んだとき、“0”になります。 注2. ABTビットはプログラムで“0”を書くと“0”になります(“1”を書いても変化しません)。 UARTi転送速度レジスタ(i=0∼2)(注1、注2) b7 b0 シンボル U0BRG U1BRG U2BRG アドレス 03A116番地 03A916番地 037916番地 リセット後の値 不定 不定 不定 機 能 設定値を nとすると、UiBRGはカウントソースをn+1分周する 注1. 送受信停止中に書いてください。 注2. このレジスタはMOV命令を使用して書いてください。 図2.11.3. U0TB∼U2TB、U0RB∼U2RB、U0BRG∼U2BRGレジスタ Rev.1.00 2004.03.01 page 106 of 311 設定範囲 RW 0016∼FF16 WO M306H3MC-XXXFP/FCFP UARTi送受信モードレジスタ(i=0∼2) b7 b6 b5 b4 b3 b2 b1 b0 シンボル アドレス リセット後の値 U0MR∼U2MR 03A016、03A816、037816番地 0016 ビット シンボル SMD0 ビット名 シリアルI/Oモード (注2) 選択ビット SMD1 SMD2 機 能 RW b2 b1 b0 0 0 0 シリアルI/Oは無効 0 0 1 : クロック同期形シリアルI/Oモード (注3) 0 1 0 : I2Cモード 1 0 0 : UARTモード転送データ長7ビット 1 0 1 : UARTモード転送データ長8ビット 1 1 0 : UARTモード転送データ長9ビット 上記以外 : 設定しないでください RW RW RW CKDIR 内/外部クロック 選択ビット 0 : 内部クロック 1 : 外部クロック(注1) RW STPS ストップビット長 選択ビット 0 : 1ストップビット 1 : 2ストップビット RW パリティ奇/偶 選択ビット PRYE=1のとき有効 0 : 奇数パリティ 1 : 偶数パリティ RW PRYE パリティ許可ビット 0 : パリティ禁止 1 : パリティ許可 RW IOPOL TxD、RxD入出力極性 切り替えビット 0 : 反転なし 1 : 反転あり RW PRY 注1. CLKi端子に対応するポート方向ビットは“0”(入力モード)にしてください。 注2. 受信する場合、RxDi端子に対応するポート方向ビットは“0”(入力モード)にしてください。 注3. SDA、SCL端子に対応するポート方向ビットは“0”(入力モード)にしてください。 UARTi 送受信制御レジスタ0 (i=0∼2) b7 b6 b5 b4 b3 b2 b1 b0 シンボル U0C0∼U2C0 ビット シンボル CLK0 アドレス リセット後の値 03A416、03AC16、037C16番地 000010002 BRGカウントソース 選択ビット CLK1 CRS 機 能 ビット名 CTS/RTS機能選択ビット (注4) RW b1 b0 0 0 : f1SIO または f2SIOを選択 0 1 : f8SIOを選択 1 0 : f32SIOを選択 1 1 : 設定しないでください RW RW CRD=0のとき有効 0 : CTS機能を選択(注1) 1 : RTS機能を選択 RW TXEPT 送信レジスタ空フラグ 0 : 送信レジスタにデータあり (送信中) 1 : 送信レジスタにデータなし (送信完了) RO CRD CTS/RTS禁止ビット 0 : CTS/RTS機能許可 1 : CTS/RTS機能禁止 (P60、P64、P73は入出力ポートとして使用できる) RW NCH データ出力選択ビット (注2) 0 : TxDi/SDAi、SCLi端子は CMOS出力 1 : TxDi/SDAi、SCLi端子はNチャネルオープンドレイン出力 RW CLK極性選択ビット 0 : 転送クロックの立ち下がりで送信データ出力、立ち上がりで受信 データ入力 RW 1 : 転送クロックの立ち上がりで送信 データ出力、立ち下がりで受信 データ入力 CKPOL UFORM 転送フォーマット選択 ビット(注3) 0 : LSBファースト 1 : MSBファースト RW 注1. CTSi端子に対応するポート方向ビットは“0”(入力モード)にしてください。 注2. TXD2/SDA2、SCL2は、Nチャネルオープンドレイン出力です。CMOS出力は設定できません。U2C0レジスタのNCHビットは “0”にしてください。 注3. クロック同期形シリアルI/Oモード、UARTモード転送データ長8ビット時に有効です。 注4. CTS1/RTS1はUCONレジスタのCLKMD1ビットが“0”(CLK出力はCLK1のみ)、かつUCONレジスタのRCSPビットが“0” (CTS0/RTS0分離しない)のとき使用できます。 図2.11.4. U0MR∼U2MR、U0C0∼U2C0レジスタ Rev.1.00 2004.03.01 page 107 of 311 M306H3MC-XXXFP/FCFP UARTi送受信制御レジスタ1(i=0、1) b7 b6 b5 b4 b3 b2 b1 b0 シンボル U0C1、U1C1 ビット シンボル アドレス 03A516、03AD16番地 リセット後の値 000000102 ビット名 機 能 RW TE 送信許可ビット 0 : 送信禁止 1 : 送信許可 RW TI 送信バッファ空フラグ 0 : UiTBレジスタにデータあり 1 : UiTBレジスタにデータなし RO RE 受信許可ビット 0 : 受信禁止 1 : 受信許可 RW RI 受信完了フラグ 0 : UiRBレジスタにデータなし 1 : UiRBレジスタにデータあり RO (b5-b4) 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は“0”。 UiLCH データ論理選択ビット UiERE エラー信号出力許可ビット 0 : 出力しない 1 : 出力する 0 : 反転なし 1 : 反転あり RW RW UART2送受信制御レジスタ1 b7 b6 b5 b4 b3 b2 b1 b0 シンボル U2C1 ビット シンボル ビット名 RW 送信許可ビット 0 : 送信禁止 1 : 送信許可 RW TI 送信バッファ空フラグ 0 : U2TBレジスタにデータあり 1 : U2TBレジスタにデータなし RO RE 受信許可ビット 0 : 受信禁止 1 : 受信許可 RI 受信完了フラグ 0 : U2RBレジスタにデータなし 1 : U2RBレジスタにデータあり RO UART2送信割り込み 要因選択ビット 0 : 送信バッファ空 (TI=1) 1 : 送信完了(TXEPT=1) RW U2RRM UART2連続受信モード許 可ビット 0 : 連続受信モード禁止 1 : 連続受信モード許可 RW U2LCH データ論理選択ビット 0 : 反転なし 1 : 反転あり RW U2ERE エラー信号出力許可ビット 0 : 出力しない 1 : 出力する 図2.11.5. U0C1∼U2C1レジスタ 2004.03.01 機 能 TE U2IRS Rev.1.00 アドレス リセット後の値 037D16番地 000000102 page 108 of 311 RW RW M306H3MC-XXXFP/FCFP UART送受信制御レジスタ2 b7 b6 b5 b4 b3 b2 b1 b0 シンボル UCON ビット シンボル アドレス 03B016番地 リセット後の値 X00000002 ビット名 機 能 RW U0IRS UART0送信割り込み要因 選択ビット 0 : 送信バッファ空 (TI=1) 1 : 送信完了(TXEPT=1) RW U1IRS UART1送信割り込み要因 選択ビット 0 : 送信バッファ空 (TI=1) 1 : 送信完了(TXEPT=1) RW U0RRM UART0連続受信モード 許可ビット 0 : 連続受信モード禁止 1 : 連続受信モード許可 RW U1RRM UART1連続受信モード 許可ビット 0 : 連続受信モード禁止 1 : 連続受信モード許可 RW CLKMD0 UART1CLK、CLKS選択 ビット0 CLKMD1=1のとき有効 0 : CLK1からクロックを出力 1 : CLKS1からクロックを出力 RW CLKMD1 UART1CLK、CLKS選択 ビット1 (注1) 0 : CLK出力はCLK1のみ 1 : 転送クロック複数端子 出力機能選択 RW 0 : CTS/RTS共通端子 1 : CTS/RTS分離(CTS0をP64端子から入力) RW RCSP UART0CTS/RTS分離ビット 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 (b7) 注1. 複数の転送クロック出力端子を使用する場合、次の条件を満たしてください。 U1MRレジスタのCKDIRビット=0(内部クロック) UARTi特殊モードレジスタ(i=0∼2) b7 b6 b5 b4 b3 b2 b1 b0 シンボル アドレス リセット後の値 U0SMR∼U2SMR 036F16、037316、037716番地 X00000002 0 ビット シンボル ビット名 機 能 IICM I2Cモード選択ビット 0 : I2Cモード以外 1 : I2Cモード RW ABC アービトレーションロスト 検出フラグ制御ビット 0 : ビットごとに更新 1 : バイトごとに更新 RW BBS バスビジーフラグ 0 : ストップコンディション検出 1 : スタートコンディション検出(ビジー) 予約ビット “0”にしてください ABSCS バス衝突検出サンプリング クロック選択ビット 0 : 転送クロックの立ち上がり 1 : タイマAjのアンダフロー信号 (注2) RW ACSE 送信許可ビット自動クリア 機能選択ビット 0 : 自動クリア機能なし 1 : バス衝突発生時自動クリア RW SSS 送信開始条件選択ビット 0:RxDiに同期しない 1:RxDiに同期する (注3) RW (b7) 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 (b3) 注1. BBSビットはプログラムで“0”を書くと“0”になります(“1”を書いても変化しません)。 注2. UART0ではタイマA3のアンダフロー信号、UART1ではタイマA4のアンダフロー信号、UART2ではタイマA0のアンダフロー信号。 注3. 転送が始まると、SSSビットは“0”(RxDiに同期しない)になります。 図2.11.6. UCON、U0SMR∼U2SMRレジスタ Rev.1.00 2004.03.01 RW page 109 of 311 RW (注1) RW M306H3MC-XXXFP/FCFP UARTi特殊モードレジスタ2 (i=0∼2) b' b6 b5 b4 b3 b2 b1 b0 シンボル アドレス リセット後の値 U0SMR2∼U2SMR2 036E16、037216、037616番地 X00000002 ビット シンボル ビット名 機 能 RW IICM2 I2Cモード選択 ビット2 「表2.11.12 I2Cモード時の各機能」参照 CSC クロック同期化ビット 0 : 禁止 1 : 許可 RW SWC SCLウエイト出力ビット 0 : 禁止 1 : 許可 RW ALS SDA出力停止ビット 0 : 禁止 1 : 許可 RW STAC UARTi初期化ビット 0 : 禁止 1 : 許可 RW SWC2 SCLウエイト出力ビット2 0 : 転送クロック 1 : “L”出力 RW SDHI SDA出力禁止ビット 0 : 許可 1 : 禁止 (ハイインピーダンス) RW RW 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 (b7) UARTi特殊モ−ドレジスタ3 (i=0∼2) b7 b6 b5 b4 b3 b2 b1 b0 シンボル アドレス U0SMR3∼U2SMR3 036D16、037116、037516番地 ビット シンボル (b0) CKPH (b2) NODC (b4) ビット名 リセット後の値 000X0X0X2 機 能 RW 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 クロック位相設定ビット 0 : クロック遅れなし 1 : クロック遅れあり RW 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 クロック出力選択ビット 0 : CLKiはCMOS出力 1 : CLKiはNチャネルオープンドレイン出力 RW 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は不定。 b7 b6 b5 DL0 SDAiディジタル 遅延値設定ビット DL1 (注1、注2) DL2 0 0 0 : 遅延なし 0 0 1 : UiBRGカウントソースの1∼2サイクル 0 1 0 : UiBRGカウントソースの2∼3サイクル 0 1 1 : UiBRGカウントソースの3∼4サイクル 1 0 0 : UiBRGカウントソースの4∼5サイクル 1 0 1 : UiBRGカウントソースの5∼6サイクル 1 1 0 : UiBRGカウントソースの6∼7サイクル 1 1 1 : UiBRGカウントソースの7∼8サイクル RW RW RW 注1. DL2∼DL0ビットはI 2Cモードで、SDAi出力にディジタル的に遅延を発生させるものです。I2Cモード以外の場合、“0002” (遅延なし)にしてください。 注2. 遅延量はSCLi端子、SDAi端子の負荷により変化します。また、外部クロックを使用した場合には、100ns程度、遅延が大きく なります。 図2.11.7. U0SMR2∼U2SMR2、U0SMR3∼U2SMR3レジスタ Rev.1.00 2004.03.01 page 110 of 311 M306H3MC-XXXFP/FCFP UARTi特殊モードレジスタ4(i=0∼2) b7 b6 b5 b4 b3 b2 b1 b0 シンボル U0SMR4∼U2SMR4 ビット シンボル ビット名 RW 0 : クリア 1 : スタート RW RSTAREQ リスタートコンディション 生成ビット (注1) 0 : クリア 1 : スタート RW STPREQ ストップコンディション 生成ビット (注1) 0 : クリア 1 : スタート RW STSPSEL SCL、SDA出力選択ビット 0 : スタートコンディション、ストップコンディション出力しない 1 : スタートコンディション、ストップコンディション出力する RW ACKD ACKデータビット 0 : ACK 1 : NACK RW ACKC ACKデータ出力許可ビット 0 :シリアルI/Oデータ出力 1 : ACKデータ出力 RW SCLHI SCL出力停止許可ビット 0 : 禁止 1 : 許可 RW SWC9 SCLウエイトビット3 0 : SCL“L”ホールド禁止 1 : SCL“L”ホールド許可 RW 図2.11.8. U0SMR4∼U2SMR4レジスタ 2004.03.01 機 能 STAREQ スタートコンディション 生成ビット (注1) 注1. 各コンディションが生成されたとき、“0”になります。 Rev.1.00 アドレス リセット後の値 036C16、037016、037416番地 0016 page 111 of 311 M306H3MC-XXXFP/FCFP 2.11.2 クロック同期形シリアルI/Oモード クロック同期形シリアルI/Oモードは、転送クロックを用いて送受信を行うモードです。表2.11.1にク ロック同期形シリアルI/Oモードの仕様、表2.11.2にクロック同期形シリアルI/Oモード時の使用レジスタ と設定値を示します。 表2.11.1. クロック同期形シリアルI/Oモードの仕様 項 目 転送データフォーマット 転送クロック 仕 様 ●転送データ長 8ビット ●UiMRレジスタ(i=0∼2)のCKDIRビットが“0”(内部クロック):fj/2(n+1) fj=f1SIO、f2SIO、f8SIO、f32SIO n=UiBRGレジスタの設定値 0016∼FF16 ●CKDIRビットが“1”(外部クロック):CLKi端子からの入力 _______ _______ _______ _______ ●CTS機能、RTS機能、CTS/RTS機能禁止を選択可 送信制御、受信制御 送信開始条件 ●送信開始には、次の条件が必要です(注1)。 ・UiC1レジスタのTEビットが“1”(送信許可) ・UiC1レジスタのTIビットが“0”(UiTBレジスタにデータあり) _______ _______ ・CTS機能を選択している場合、CTSi端子の入力が“L” 受信開始条件 ●受信開始には、次の条件が必要です(注1)。 ・UiC1レジスタのREビットが“1”(受信許可) ・UiC1レジスタのTEビットが“1”(送信許可) ・UiC1レジスタのTIビットが“0”(UiTBレジスタにデータあり) 割り込み要求発生タイミング ●送信する場合、次の条件のいずれかを選択できます。 ・UiIRSビット(注3)が“0”(送信バッファ空): UiTBレジスタからUARTi送信レジスタへデータ転送時(送信開始時) ・UiIRSビットが“1”(送信完了):UARTi送信レジスタからデータ送信完了時 ●受信する場合 ・UARTi受信レジスタからUiRBレジスタへデータ転送時(受信完了時) エラー検出 選択機能 ●オーバランエラー(注2) UiRBレジスタを読む前に次のデータ受信を開始し、次のデータの7ビット目を受信 すると発生 ●CLK極性選択 転送データの出力と入力タイミングが、転送クロックの立ち上がりか立ち下がりか を選択可 ●LSBファースト、MSBファースト選択 ビット0から送受信するか、またはビット7から送受信するかを選択可 ●連続受信モード選択 UiRBレジスタを読むことで、同時に受信許可状態になる ●シリアルデータ論理切り替え 送受信データの論理値を反転する機能 ●転送クロック複数端子出力選択(UART1) UART1の転送クロック端子を2本設定し、プログラムで出力端子を選択可 _______ _______ ●CTS/RTS分離機能(UART0) _________ ________ CTS0とRTS0を別の端子から入出力する 注1. 外部クロックを選択している場合、UiC0レジスタのCKPOLビットが“0”(転送クロックの立ち下がり で送信データ出力、立ち上がりで受信データ入力)のときは外部クロックが“H”の状態で、CKPOLビッ トが“1”(転送クロックの立ち上がりで送信データ出力、立ち下がりで受信データ入力)のときは外部 クロックが“L”の状態で条件を満たしてください。 注2. オーバランエラーが発生した場合、UiRBレジスタは不定になります。またSiRICレジスタのIRビット は変化しません。 注3. U0IRS、U1IRSビットはUCONレジスタのビット0、1で、U2IRSビットはU2C1レジスタのビット4です。 Rev.1.00 2004.03.01 page 112 of 311 M306H3MC-XXXFP/FCFP 表2.11.2. クロック同期形シリアルI/Oモード時の使用レジスタと設定値 レジスタ UiTB(注3) UiRB(注3) UiBRG UiMR(注3) UiC0 UiC1 UiSMR UiSMR2 UiSMR3 UiSMR4 UCON ビット 0∼7 0∼7 OER 0∼7 SMD2∼SMD0 CKDIR IOPOL CLK1∼CLK0 CRS TXEPT CRD NCH CKPOL UFORM TE TI 機 能 送信データを設定してください 受信データが読めます オーバランエラーフラグ 転送速度を設定してください “0012”にしてください 内部クロック、外部クロックを選択してください “0”にしてください UiBRGレジスタのカウントソースを選択してください _______ _______ CTSまたはRTSを使用する場合、どちらかを選択してください 送信レジスタ空フラグ _______ _______ CTSまたはRTS機能の許可、または禁止を選択してください TxDi端子の出力形式を選択してください(注2) 転送クロックの極性を選択してください LSBファースト、またはMSBファーストを選択してください 送受信を許可する場合、“1”にしてください 送信バッファ空フラグ RE RI U2IRS(注1) U2RRM(注1) UiLCH UiERE 0∼7 0∼7 0∼2 NODC 4∼7 0∼7 U0IRS、U1IRS U0RRM、U1RRM CLKMD0 CLKMD1 RCSP 7 受信を許可する場合、“1”にしてください 受信完了フラグ UART2送信割り込み要因を選択してください 連続受信モードを使用する場合、“1”にしてください データ論理反転を使用する場合、“1”にしてください “0”にしてください “0”にしてください “0”にしてください “0”にしてください クロック出力形式を選択してください “0”にしてください “0”にしてください UART0、1送信割り込み要因を選択してください 連続受信モードを使用する場合、“1”にしてください CLKMD1=1のとき転送クロックを出力する端子を選択してください UART1の転送クロックを2端子から出力する場合、“1”にしてください __________ UART0のCTS0信号をP64端子から入力する場合、“1”にしてください “0”にしてください 注1. U0C1、U1C1レジスタのビット4、5は“0”にしてください。U0IRS、U1IRS、U0RRM、U1RRMビットはUCON レジスタにあります。 注2. TxD2端子はNチャネルオープンドレインです。U2C0レジスタのNCHビットは“0”にしてください。 注3. この表に記載していないビットは、クロック同期形シリアルI/Oモード時に書く場合、“0”を書いてください。 i=0∼2 Rev.1.00 2004.03.01 page 113 of 311 M306H3MC-XXXFP/FCFP 表2.11.3にクロック同期形シリアルI/Oモード時の入出力端子の機能を示します。表2.11.3は、転送クロッ ク複数端子出力選択機能を非選択の場合です。また、表2.11.4にクロック同期形シリアルI/Oモード時の P64端子の機能を示します。 なお、UARTiの動作モード選択後、転送開始までは、TxDi端子は“H”を出力します(Nチャネルオー プンドレイン出力選択時はハイインピーダンス状態)。 表2.11.3. クロック同期形シリアルI/Oモード時の入出力端子の機能 (転送クロック複数端子出力機能を非選択の場合) 端子名 TxDi(i=0∼2) (P63、P67、P70) 機 能 選択方法 シリアルデータ出力 (受信だけを行うときはダミーデータを出力) RxDi (P62、P66、P71) シリアルデータ入力 PD6レジスタのPD6_2ビット=0、PD6_6ビット=0、PD7レジスタのPD7_1 ビット=0(送信だけを行うときは入力ポートとして使用可) CLKi (P61、P65、P72) 転送クロック出力 UiMRレジスタのCKDIRビット=0 転送クロック入力 UiMRレジスタのCKDIRビット=1 PD6レジスタのPD6_1ビット=0、PD6_5ビット=0、PD7レジスタのPD7_2 ビット=0 CTSi/RTSi (P60、P64、P73) CTS入力 UiC0レジスタのCRDビット=0 UiC0レジスタのCRSビット=0 PD6レジスタのPD6_0ビット=0、PD6_4ビット=0、PD7レジスタのPD7_3 ビット=0 RTS出力 UiC0レジスタのCRDビット=0 UiC0レジスタのCRSビット=1 入出力ポート UiC0レジスタのCRDビット=1 表2.11.4. クロック同期形シリアルI/Oモード時のP64端子の機能 端子の機能 P64 CTS1 RTS1 CTS0(注1) CLKS1 ビットの設定値 U1C0レジスタ CRS CRD 1 0 0 0 1 0 0 RCSP 0 0 0 1 UCONレジスタ CLKMD1 CLKMD0 0 0 0 0 1(注2) PD6レジスタ PD6_4 入力:0、出力:1 0 0 1 注1. この他にU0C0レジスタのCRDビットを“0”(CTS0/RTS0許可)、U0C0レジスタのCRSビット を“1”(RTS0選択)にしてください。 注2. CLKMD1ビットが“1”でCLKMD0ビットが“0”の場合は、次のレベルを出力します。 ・U1C0レジスタのCKPOLビットが“0”:H ・U1C0レジスタのCKPOLビットが“1”:L Rev.1.00 2004.03.01 page 114 of 311 M306H3MC-XXXFP/FCFP (1) 送信タイミング例(内部クロック選択時) Tc 転送クロック UiC1レジスタの “1” TEビット “0” UiTBレジスタにデータを書く UiC1レジスタの “1” TIビット “0” CTSi UARTi 送信レジスタ← UiTBレジスタ “H” TCLK “L” CTSiが“H”のため停止 TEビットが“0”のため停止 CLKi TxDi D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 UiC0レジスタの “1” TXEPTビット “0” SiTICレジスタの “1” IRビット “0” 割り込み要求の受け付け、またはプログラムで“0”にする Tc=TCLK = 2(n+1) / fj fj:UiBRGのカウントソースの周波数(f1SIO、f2SIO、f8SIO、f32SIO) n:UiBRGレジスタに設定した値 i=0∼2 上記タイミング図は次の設定条件の場合です。 ●UiMRレジスタのCKDIRビット=0(内部クロック) ●UiC0レジスタのCRDビット=0(CTS/RTS許可)、CRSビット=0(CTS選択) ●UiC0レジスタのCKPOLビット=0(転送クロックの立ち下がりで送信データ出力、立ち上がりで受信データ入力) ●UiIRSビット=0(送信バッファが空になると割り込み要求発生):U0IRSビットはUCONレジスタのビット0、U1IRSビットはUCONレジスタ のビット1、U2IRSビットはU2C1レジスタのビット4です。 (2) 受信タイミング例(外部クロック選択時) UiC1レジスタの “1” REビット “0” UiC1レジスタの “1” TEビット “0” UiTBレジスタにダミーデータを書く UiC1レジスタの “1” TIビット “0” UARTi 送信レジスタ← UiTBレジスタ “H” RTSi “L” 受信完了してもRTSiは変化しない。RIビットが“1” から“0”に変化すると“L”になる 1 / fEXT CLKi 受信データの取り込み RxDi UiC1レジスタの “1” RIビット “0” D0 D1 D2 D3 D4 D5 D6 D7 UARTi 受信レジスタ→UiRBレジスタ D0 D1 D2 D3 D4 D5 UiRBレジスタを読む SiRICレジスタの “1” IRビット “0” 割り込み要求の受け付け、またはプログラムで“0”にする 上記タイミング図は次の設定条件の場合です。 ●UiMRレジスタのCKDIRビット=1(外部クロック) ●UiC0レジスタのCRDビット=0(CTS/RTS許可)、CRSビット=1 (RTS選択) ●UiC0レジスタのCKPOLビット=0(転送クロックの立ち下がりで 送信データ出力、立ち上がりで受信データ入力) データ受信前のCLKi端子への入力が“H”のときに、次の条件が 揃うようにしてください。 ●UiC1レジスタのTEビット=1(送信許可) ●UiC1レジスタのREビット=1(受信許可) ●UiTBレジスタにダミーデータを書く fEXT:外部クロックの周波数 図2.11.9. クロック同期形シリアルI/Oモード時の送信、受信タイミング例 Rev.1.00 2004.03.01 page 115 of 311 M306H3MC-XXXFP/FCFP ■CLK極性選択 UiC0レジスタ(i=0∼2)のCKPOLビットで転送クロックの極性を選択できます。図2.11.10に転送クロッ クの極性を示します。 (1) UiC0レジスタのCKPOLビット=0(転送クロックの立ち下がりで送信データ出力、 立ち上がりで受信データ入力)のとき CLKi 注2 TXDi D0 D1 D2 D3 D4 D5 D6 D7 RXDi D0 D1 D2 D3 D4 D5 D6 D7 (2) UiC0レジスタのCKPOLビット=1(転送クロックの立ち上がりで送信データ出力、 立ち下がりで受信データ入力)のとき 注3 CLKi TXDi D0 D1 D2 D3 D4 D5 D6 D7 RXDi D0 D1 D2 D3 D4 D5 D6 D7 注1. UiC0レジスタのUFORMビット=0(LSBファースト)、UiC1レジスタのUiLCHビット=0 (反転なし)の場合です。 注2. 転送していないとき、CLKi端子から“H”を出力します。 注3. 転送していないとき、CLKi端子から“L”を出力します。 i=0∼2 図2.11.10. 転送クロックの極性 ■LSBファースト、MSBファースト選択 UiC0レジスタ(i=0∼2)のUFORMビットで転送フォーマットを選択できます。図2.11.11に転送フォー マットを示します。 (1) UiC0レジスタのUFORMビット=0(LSBファースト)のとき CLKi TXDi D0 D1 D2 D3 D4 D5 D6 D7 RXDi D0 D1 D2 D3 D4 D5 D6 D7 (2) UiC0レジスタのUFORMビット=1(MSBファースト)のとき CLKi TXDi D7 D6 D5 D4 D3 D2 D1 D0 RXDi D7 D6 D5 D4 D3 D2 D1 D0 注1. UiC0レジスタのCKPOLビット=0(転送クロックの立ち下がりで送信データ出力、立ち上がりで 受信データ入力)、UiC1レジスタのUiLCHビット=0(反転なし)の場合です。 i=0∼2 図2.11.11. 転送フォーマット Rev.1.00 2004.03.01 page 116 of 311 M306H3MC-XXXFP/FCFP ■連続受信モード UiRRMビット(i=0∼2)を“1”(連続受信モード)にすると、UiRBレジスタを読むことでUiC1レジス タのTIビットが“0”(UiTBレジスタにデータあり)になります。UiRRMビットが“1”の場合、プログ ラムでUiTBレジスタにダミーデータを書かないでください。U0RRM、U1RRMビットはUCONレジス タのビット2、3で、U2RRMビットはU2C1レジスタのビット5です。 ■シリアルデータ論理切り替え UiC1レジスタ(i=0∼2)のUiLCHビットが“1”(反転あり)の場合、UiTBレジスタに書いた値の論理を 反転して送信します。UiRBレジスタを読むと、受信データの論理を反転した値が読めます。図2.11.12 にシリアルデータ論理を示します。 (1) UiC1レジスタのUiLCHビット=0(反転なし)のとき 転送クロック “H” “L” TxDi “H” (反転なし) “L” D0 D1 D2 D3 D4 D5 D6 D7 D6 D7 (2) UiC1レジスタのUiLCHビット=1(反転あり)のとき 転送クロック “H” “L” TxDi “H” (反転あり) “L” D0 D1 D2 D3 D4 D5 注1. UiC0レジスタのCKPOLビット=0(転送クロックの立ち下がりで送信データ出力)、 UFORMビット=0(LSBファースト)の場合です。 i=0∼2 図2.11.12. シリアルデータ論理 ■転送クロック複数端子出力選択(UART1) UCONレジスタのCLKMD1∼CLKMD0ビットで2本の転送クロック出力端子から1本を選択できます (図2.11.13)。この機能は、UART1の転送クロックが内部クロックの場合に使用できます。 マイクロコンピュータ TXD1 (P67) CLKS1 (P64) CLK1 (P65) IN IN CLK CLK UCONレジスタのCLKMD0ビット=0 のとき転送可 UCONレジスタのCLKMD0ビット=1 のとき転送可 注1. U1MRレジスタのCKDIRビット=0(内部クロック)、UCONレジスタのCLKMD1ビット=1 (転送クロック複数端子出力)の場合です。 図2.11.13. 転送クロック複数端子出力機能の使用例 Rev.1.00 2004.03.01 page 117 of 311 M306H3MC-XXXFP/FCFP _______ _______ ■CTS/RTS分離機能(UART0) _________ _________ _________ _________ CTS0/RTS0を分離し、RTS0をP60端子から出力、CTS0をP64端子から入力する機能です。この機能を 使用する場合は次のようにしてください。 _______ _______ ・U0C0レジスタのCRDビット=0(UART0のCTS/RTS許可) _________ ・U0C0レジスタのCRSビット=1(UART0のRTS出力) _______ _______ ・U1C0レジスタのCRDビット=0(UART1のCTS/RTS許可) _________ ・U1C0レジスタのCRSビット=0(UART1のCTS入力) _________ ・UCONレジスタのRCSPビット=1(CTS0をP64端子から入力) ・UCONレジスタのCLKMD1ビット=0(CLKS1を使用しない) _______ _______ _______ _______ なお、CTS/RTS分離機能使用時、UART1のCTS/RTS機能は使用できません。 マイクロコンピュータ TXD0 (P63) IN RXD0 (P62) OUT CLK0 (P61) CLK RTS0 (P60) CTS CTS0 (P64) RTS _______ _______ 図2.11.14. CTS/RTS分離機能の使用例 Rev.1.00 2004.03.01 IC page 118 of 311 M306H3MC-XXXFP/FCFP 2.11.3 クロック非同期形シリアルI/O(UART)モード UARTモードは、任意の転送速度、転送データフォーマットを設定して送受信を行うモードです。表 2.11.5にUARTモードの仕様を示します。 表2.11.5. UARTモードの仕様 項 目 転送データフォーマット 転送クロック 送信制御、受信制御 送信開始条件 受信開始条件 割り込み要求発生タイミング エラー検出 選択機能 仕 様 ●キャラクタビット(転送データ) 7ビット、8ビット、9ビットを選択可 ●スタートビット 1ビット ●パリティビット 奇数、偶数、なしを選択可 ●ストップビット 1ビット、2ビットを選択可 ●UiMRレジスタ(i=0∼2)のCKDIRビットが“0”(内部クロック):fj/16(n+1) fj=f1SIO、f2SIO、f8SIO、f32SIO。n=UiBRGレジスタの設定値 0016∼FF16 ●CKDIRビットが“1”(外部クロック):fEXT/16(n+1) f_______ EXTはCLKi端子からの入力。n=UiBRGレジスタの設定値 0016∼FF16 _______ _______ _______ ●CTS機能、RTS機能、CTS/RTS機能禁止を選択可 ●送信開始には、次の条件が必要です。 ・UiC1レジスタのTEビットが“1”(送信許可) ・UiC1レジスタのTIビットが“0”(UiTBレジスタにデータあり) _______ _______ ・CTS機能を選択している場合、CTSi端子の入力が“L” ●受信開始には、次の条件が必要です。 ・UiC1レジスタのREビットが“1”(受信許可) ・スタートビットの検出 ●送信する場合、次の条件のいずれかを選択できます ・UiIRSビット(注2)が“0”(送信バッファ空): UiTBレジスタからUARTi送信レジスタへデータ転送時(送信開始時) ・UiIRSビットが“1”(送信完了):UARTi送信レジスタからデータ送信完了時 ●受信する場合 ・UARTi受信レジスタからUiRBレジスタへデータ転送時(受信完了時) ●オーバーランエラー UiRBレジスタを読む前に次のデータ受信を開始し、 (注1) 次のデータの最終ストップビットの1つ前のビットを受信す ると発生 ●フレーミングエラー 設定した個数のストップビットが検出されなかったときに 発生 ●パリティエラー パリティ許可時にパリティビットとキャラクタビット中の“1” の個数が設定した個数でなかったときに発生 ●エラーサムフラグ オーバランエラー、フレーミングエラー、パリティエラー のうちいずれかが発生した場合“1”になる ●LSBファースト、MSBファースト選択 ビット0から送受信するか、またはビット7から送受信するかを選択可 ●シリアルデータ論理切り替え 送受信するデータの論理値を反転する機能。スタートビット、ストップビットは 反転しない。 ●TXD、RXD入出力極性切り替え TXD端子出力とRXD端子入力を反転する機能。入出力するデータのレベルがすべて 反転する。 _______ _______ ●CTS/RTS分離機能(UART0) _________ ________ CTS0とRTS0を別の端子から入出力する 注1. オーバランエラーが発生した場合、UiRBレジスタは不定になります。またSiRICレジスタのIRビットは変化しま せん。 注2. U0IRS、U1IRSビットはUCONレジスタのビット0、1で、U2IRSビットはU2C1レジスタのビット4です。 Rev.1.00 2004.03.01 page 119 of 311 M306H3MC-XXXFP/FCFP 表2.11.6. UARTモード時の使用レジスタと設定値 レジスタ UiTB ビット 0∼8 機 能 送信データを設定してください (注1) UiRB 0∼8 OER、FER、PER、SUM 受信データが読めます (注1) エラーフラグ UiBRG UiMR 0∼7 SMD2∼SMD0 転送速度を設定してください 転送データが7ビットの場合、“1002”を設定してください。 転送データが8ビットの場合、“1012”を設定してください。 転送データが9ビットの場合、“1102”を設定してください。 CKDIR STPS 内部クロック、外部クロックを選択してください ストップビットを選択してください PRY、PRYE IOPOL パリティの有無、偶数奇数を選択してください TxD / RxD入出力極性を選択してください CLK0、CLK1 CRS ________ TXEPT CRD ________ NCH CKPOL TxDi端子の出力形式を選択してください(注3) “0”にしてください UFORM 転送データ長8ビット時、LSBファースト、MSBファーストを選択できます。 転送データ長7ビットまたは9ビット時は“0”にしてください。 TE TI 送信を許可する場合、“1”にしてください 送信バッファ空フラグ RE RI 受信を許可するとき、“1”にしてください 受信完了フラグ U2IRS(注2) U2RRM(注2) UART2送信割り込み要因を選択してください “0”にしてください UiLCH UiERE データ論理反転を使用する場合、“1”にしてください “0”にしてください UiSMR UiSMR2 0∼7 0∼7 “0”にしてください “0”にしてください UiSMR3 UiSMR4 0∼7 0∼7 “0”にしてください “0”にしてください UiC0 UiC1 UCON UiBRGのカウントソースを選択してください ________ CTSまたはRTS機能を使用する場合、どちらかを選択してください 送信レジスタ空フラグ _______ CTS / RTS機能の許可または禁止を選択してください U0IRS、U1IRS UART0、1送信割り込み要因を選択してください U0RRM、U1RRM “0”にしてください CLKMD0 CLKMD1=0なので無効 CLKMD1 “0”にしてください RCSP UART0のCTS0信号をP64端子から入力する場合、“1”にしてください 7 “0”にしてください __________ 注1.使用するビットは次のとおりです。転送データ長7ビット:ビット0∼6、転送データ長8ビット:ビット0∼7、転 送データ長9ビット:ビット0∼8 注2.U0C1、U1C1レジスタのビット4、5は“0”にしてください。U0IRS、U1IRS、U0RRM、U1RRMビットはUCONレ ジスタにあります。 注3.TxD2端子はNチャネルオープンドレインです。U2C0レジスタのNCHビットは“0”にしてください。 i=0∼2 Rev.1.00 2004.03.01 page 120 of 311 M306H3MC-XXXFP/FCFP 表2.11.7にUARTモード時の入出力端子の機能を示します。表2.11.8にUARTモード時のP64端子の機能 を示します。なお、UARTiの動作モード選択後、転送開始までは、TXDi端子は“H”を出力します(Nチャ ネルオープンドレイン出力選択時はハイインピーダンス状態)。 表2.11.7. UARTモード時の入出力端子の機能 端子名 TxDi(i=0∼2) (P63、P67、P70) 機 能 選択方法 シリアルデータ出力 (受信だけを行うときはダミーデータを出力) RxDi (P62、P66、P71) シリアルデータ入力 PD6レジスタのPD6_2ビット=0、PD6_6ビット=0、PD7レジスタのPD7_1 ビット=0(送信だけを行うときは入力ポートとして使用可) CLKi (P61、P65、P72) 入出力ポート UiMRレジスタのCKDIRビット=0 転送クロック入力 UiMRレジスタのCKDIRビット=1 PD6レジスタのPD6_1ビット=0、PD6_5ビット=0、PD7レジスタのPD7_2 ビット=0 CTSi/RTSi (P60、P64、P73) CTS入力 UiC0レジスタのCRDビット=0 UiC0レジスタのCRSビット=0 PD6レジスタのPD6_0ビット=0、PD6_4ビット=0、PD7レジスタのPD7_3 ビット=0 RTS出力 UiC0レジスタのCRDビット=0 UiC0レジスタのCRSビット=1 入出力ポート UiC0レジスタのCRDビット=1 表2.11.8. UARTモード時のP64端子の機能 端子の機能 P64 CTS1 RTS1 CTS0(注1) ビットの設定値 U1C0レジスタ CRS CRD 1 0 0 1 0 0 0 UCONレジスタ CLKMD1 RCSP 0 0 0 0 0 0 0 1 PD6レジスタ PD6_4 入力:0、出力:1 0 0 注1. この他にU0C0レジスタのCRDビットを“0”(CTS0/RTS0許可)、U0C0レジスタのCRSビット を“1”(RTS0選択)にしてください。 Rev.1.00 2004.03.01 page 121 of 311 M306H3MC-XXXFP/FCFP (1) 転送データ長8ビット時の送信タイミング例(パリティ許可、1ストップビット) ストップビット確認時CTSi信号が“H”なので、いったん転送クロック停止 CTSi信号が“L”になったのを確認後ただちに送信を行うため、クロック再開 Tc 転送クロック UiC1レジスタの “1” TEビット “0” UiTBレジスタにデータを書く UiC1レジスタの “1” TIビット “0” UARTi 送信レジスタ←UiTBレジスタ “H” CTSi “L” TxDi TEビットが“0”の ため停止 パリティ ストップ ビット ビット スタート ビット ST D0 D1 D2 D3 D4 D5 D6 D7 P SP ST D0 D1 D2 D3 D4 D5 D6 D7 P ST D0 D1 SP UiC0レジスタの “1” TXEPTビット “0” SiTICレジスタの “1” IRビット “0” 割り込み要求の受け付け、またはプログラムで“0”にする 上記タイミング図は次の設定条件の場合です。 ●UiMRレジスタのPRYEビット=1(パリティ許可) ●UiMRレジスタのSTPSビット=0(1ストップビット) ●UiC0レジスタのCRDビット=0(CTS/RTS許可)、CRSビット=0(CTS選択) ●UiIRSビット=1(送信完了すると割り込み要求発生) :U0IRSビットはUCONレジスタのビット0、U1IRSビットはUCONレジスタの ビット1、U2IRSビットはU2C1レジスタのビット4です。 Tc = 16(n+1) / fj または 16(n+1) / fEXT fj:UiBRGのカウントソースの周波数(f1SIO、f2SIO、f8SIO、f32SIO) fEXT:UiBRGのカウントソースの周波数(外部クロック) n:UiBRGレジスタに設定した値 i=0∼2 (2) 転送データ長9ビット時の送信タイミング例(パリティ禁止、2ストップビット) Tc 転送クロック UiC1レジスタの “1” TEビット “0” UiTBレジスタにデータを書く “1” UiC1レジスタの TIビット “0” UARTi 送信レジスタ←UiTBレジスタ スタート ビット TxDi ストップ ストップ ビット ビット ST D0 D1 D2 D3 D4 D5 D6 D7 D8 SP SP ST D0 D1 D2 D3 D4 D5 D6 D7 D8 SPSP ST D0 D1 UiC0レジスタの “1” TXEPTビット “0” SiTICレジスタの “1” IRビット “0” 割り込み要求の受け付け、またはプログラムで“0”にする 上記タイミング図は次の設定条件の場合です。 ●UiMRレジスタのPRYEビット=0(パリティ禁止) ●UiMRレジスタのSTPSビット=1(2ストップビット) ●UiC0レジスタのCRDビット=1(CTS/RTS禁止) ●UiIRSビット=0(送信バッファが空になると割り込み要求発生) :U0IRSビットはUCONレジスタのビット0、U1IRSビットはUCONレジスタの ビット1、U2IRSビットはU2C1レジスタのビット4です。 図2.11.15. UARTモード時の送信タイミング例 Rev.1.00 2004.03.01 page 122 of 311 Tc = 16(n+1) / fj または 16(n+1) / fEXT fj:UiBRGのカウントソースの周波数(f1SIO、f2SIO、f8SIO、f32SIO) fEXT:UiBRGのカウントソースの周波数(外部クロック) n:UiBRGレジスタに設定した値 i=0∼2 M306H3MC-XXXFP/FCFP ●転送データ長8ビット時の受信タイミング例(パリティ禁止、1ストップビット) UiBRGの カウントソース UiC1レジスタの “1” REビット “0” ストップビット スタートビット RxDi “L”であること を検査 D7 D1 D0 受信データの取り込み 転送クロック UARTi受信レジスタ→UiRBレジスタ スタートビットの立ち下がりで UiC1レジスタの “1” 転送クロックが発生し受信開始 RIビット “0” RTS i “H” “L” SiRICレジスタの “1” IRビット “0” 割り込み要求の受け付け、またはプログラムで“0”にする 上記タイミング図は次の設定条件の場合です。 ●UiMRレジスタのPRYEビット=0(パリティ禁止) ●UiMRレジスタのSTPSビット=0(1ストップビット) ●UiC0レジスタのCRDビット=0(CTSi/RTSi許可)、CRSビット=1(RTSi選択) i=0∼2 図2.11.16. UARTモード時の受信タイミング例 ■LSBファースト、MSBファースト選択 図2.11.17に示すように、UiC0レジスタのUFORMビットで転送フォーマットを選択できます。この機 能は転送データ長8ビットのときに有効です。 (1) UiC0レジスタのUFORMビット = 0(LSBファースト)のとき CLKi TXDi ST D0 D1 D2 D3 D4 D5 D6 D7 P SP RXDi ST D0 D1 D2 D3 D4 D5 D6 D7 P SP (2) UiC0レジスタのUFORMビット = 1(MSBファースト)のとき CLKi TXDi ST D7 D6 D5 D4 D3 D2 D1 D0 P SP RXDi ST D7 D6 D5 D4 D3 D2 D1 D0 P SP ST : スタートビット P : パリティビット SP : ストップビット i=0∼2 注1. UiC0レジスタのCKPOLビット=0(転送クロックの立ち下がりで送信データ出力、立ち上がりで受信 データの入力)、UiC1レジスタのUiLCHビット=0(反転なし)、UiMRレジスタのSTPSビット=0 (1ストップビット)、UiMRレジスタのPRYEビット=1(パリティ許可)の場合です。 図2.11.17. 転送フォーマット Rev.1.00 2004.03.01 page 123 of 311 M306H3MC-XXXFP/FCFP ■シリアルデータ論理切り替え UiTBレジスタに書いた値の論理を反転して送信します。UiRBレジスタを読むと、受信データの論 理を反転した値が読めます。図2.11.18にシリアルデータ論理を示します。 (1) UiC1レジスタのUiLCHビット=0(反転なし)のとき 転送クロック “H” “L” TxDi “H” (反転なし) “L” ST D0 D1 D2 D3 D4 D5 D6 D7 P SP D6 D7 P SP (2) UiC1レジスタのUiLCHビット=1(反転あり)のとき 転送クロック “H” TxDi “H” (反転あり) “L” “L” ST D0 D1 D2 D3 D4 D5 ST:スタートビット P:パリティ SP:ストップビット i=0∼2 注1. UiC0レジスタのCKPOLビット=0(転送クロックの立ち下がりで送信データ出力)、UiC0レジスタ のUFORMビット=0(LSBファースト)、UiMRレジスタのSTPSビット=0(1ストップビット)、UiMR レジスタのPRYEビット=1(パリティ許可)の場合です。 図2.11.18. シリアルデータ論理 ■TXD、RXD入出力極性切り替え機能 TXDi端子出力とRXDi端子入力を反転する機能です。入出力するデータのレベルがすべて(スタート ビット、ストップビット、パリティビットを含む)反転します。図2.11.19にTXD、RXD入出力極性切り 替えを示します。 (1) UiMRレジスタのIOPOLビット=0(反転なし)のとき 転送クロック “H” “L” TxDi “H” (反転なし) “L” RxDi “H” (反転なし) “L” ST D0 D1 D2 D3 D4 D5 D6 D7 P SP ST D0 D1 D2 D3 D4 D5 D6 D7 P SP (2) UiMRレジスタのIOPOLビット=1(反転あり)のとき 転送クロック “H” “L” TxDi “H” (反転あり) “L” RxDi “H” (反転あり) “L” ST D0 D1 D2 D3 D4 D5 D6 D7 P SP ST D0 D1 D2 D3 D4 D5 D6 D7 P SP ST:スタートビット P :パリティ SP:ストップビット i=0∼2 注1. UiC0レジスタのUFORMビット=0(LSBファースト)、UiMRレジスタのSTPSビット=0(1ストップビット)、 UiMRレジスタのPRYEビット=1(パリティ許可)の場合です。 図2.11.19. TXD、RXD入出力極性切り替え Rev.1.00 2004.03.01 page 124 of 311 M306H3MC-XXXFP/FCFP _______ _______ ■CTS/RTS分離機能(UART0) _________ _________ _________ _________ CTS0/RTS0を分離し、RTS0をP60端子から出力、CTS0をP64端子から入力する機能です。この機能を 使用する場合は次のようにしてください。 _______ _______ ・U0C0レジスタのCRDビット=0(UART0のCTS/RTS許可) _________ ・U0C0レジスタのCRSビット=1(UART0のRTS出力) _______ _______ ・U1C0レジスタのCRDビット=0(UART1のCTS/RTS許可) _________ ・U1C0レジスタのCRSビット=0(UART1のCTS入力) _________ ・UCONレジスタのRCSPビット=1(CTS0をP64端子から入力) ・UCONレジスタのCLKMD1ビット=0(CLKS1を使用しない) _______ _______ _______ _______ なお、CTS/RTS分離機能使用時、UART1のCTS/RTS機能は使用できません。 マイクロコンピュータ TXD0 (P63) IN RXD0 (P62) OUT RTS0 (P60) CTS CTS0 (P64) RTS _______ _______ 図2.11.20. CTS/RTS分離機能の使用例 Rev.1.00 2004.03.01 IC page 125 of 311 M306H3MC-XXXFP/FCFP 2.11.4 特殊モード1(I2Cモード) I2Cモードは、簡易形I2Cインタフェースに対応したモードです。表2.11.9にI2Cモードの仕様を、表2.11.10 ∼表2.11.11にI2Cモード時の使用レジスタと設定値を、表2.11.12にI2Cモード時の各機能を、図2.11.21に I2Cモード時のブロック図を、図2.11.22にSCLiタイミングを示します。 表2.11.12に示すように、SMD2∼SMD0ビットを“0102”に、IICMビットを“1”にするとI2Cモードに なります。SDAi送信出力には遅延回路が付加されますので、SCLiが“L”になり安定した後、SDAi出力 が変化します。 表2.11.9. I2Cモードの仕様 項 目 仕 様 転送データフォーマット 転送クロック ●転送データ長 8ビット ●マスタ時 UiMRレジスタ(i=0∼2)のCKDIRビットが“0”(内部クロック):fj/2(n+1) fj=f1SIO、f2SIO、f8SIO、f32SIO n=UiBRGレジスタの設定値 0016∼FF16 ●スレーブ時 CKDIRビットが“1”(外部クロック):SCLi端子からの入力 送信開始条件 ●送信開始には、次の条件が必要です(注1)。 ・UiC1レジスタのTEビットが“1”(送信許可) ・UiC1レジスタのTIビットが“0”(UiTBレジスタにデータあり) ●受信開始には、次の条件が必要です(注1)。 受信開始条件 ・UiC1レジスタのREビットが“1”(受信許可) ・UiC1レジスタのTEビットが“1”(送信許可) 割り込み要求発生タイミング ・UiC1レジスタのTIビットが“0”(UiTBレジスタにデータあり) スタートコンディション検出、ストップコンディション検出、アクノリッジ未検出、ア エラー検出 クノリッジ検出 ●オーバランエラー(注2) UiRBレジスタを読む前に次のデータ受信を開始し、次のデータの8ビット目を受信す ると発生 選択機能 ●アービトレーションロスト UiRB レジスタのABT ビットの更新タイミングを選択可 ●SDAiディジタル遅延 ディジタル遅延なし、またはUiBRGカウントソースの2∼8サイクルの遅延を選択可 ●クロック位相設定 クロック遅れあり、なしを選択可 注1. 外部クロックを選択している場合、外部クロックが“H”の状態で条件を満たしてください。 注2. オーバランエラーが発生した場合、UiRBレジスタは不定になります。またSiRICレジスタのIRビット は変化しません。 Rev.1.00 2004.03.01 page 126 of 311 M306H3MC-XXXFP/FCFP SDAi スタート、ストップコンディション生成ブロック DMA0、DMA1要求 (UART1はDMA0のみ) STSPSEL=1 SDASTSP SCLSTSP 遅延回路 STSPSEL=0 IICM2=1 送信レジスタ ACK=1 SDHI ACKDレジスタ D Q T ノイズ フィルタ UARTi送信、NACK 割り込み要求 UARTi ACK=0 IICM=1かつ IICM2=0 ALS DMA0 (UART0、UART2) アービト レーション IICM2=1 受信レジスタ UARTi スタート コンディション 検出 S R IICM=1かつ IICM2=0 バス ビジー Q ストップ コンディション 検出 NACK D Q T 立ち下がり 検出 SCLi R IICM=0 入出力ポート Q STSPSEL=1 外部クロック ACK 9ビット目 内部クロック SWC2 ノイズ フィルタ D Q T ポートレジスタ (注1) STSPSEL=0 IICM=1UARTi UARTi受信、 ACK 割り込み要求、 DMA1要求 スタートコンディション検出、 ストップコンディション検出 割り込み要求 CLK 制御 UARTi R S 9ビット目の立ち下がり SWC この図は、UiMRレジスタのSMD2∼SMD0ビット=0102、UiSMRレジスタのIICMビット=1の場合です。 IICM :UiSMRレジスタのビット IICM2, SWC, ALS, SWC2, SDHI:UiSMR2レジスタのビット STSPSEL, ACK0, ACKC :UiSMR4レジスタのビット i=0∼2 注1. IICMビットが“1”の場合は、PD6_2、PD6_6、PD7_1ビットが“1”(出力モード)であっても、端子が読めます。 図2.11.21. I2Cモードのブロック図 Rev.1.00 2004.03.01 page 127 of 311 M306H3MC-XXXFP/FCFP 表2.11.10. I2Cモード時の使用レジスタと設定値 (1) レジスタ ビット UiTB(注3) 0∼7 UiRB(注3) 0∼7 8 ABT OER UiBRG 0∼7 UiMR(注3) SMD2∼SMD0 CKDIR IOPOL UiC0 CLK1∼CLK0 CRS TXEPT CRD NCH CKPOL UFORM UiC1 TE TI RE RI U2IRS(注1) U2RRM(注1)、 UiLCH、UiERE UiSMR IICM ABC UiSMR2 BBS 3∼7 IICM2 CSC SWC ALS STAC 機能 マスタ時 スレーブ時 送信データを設定してください 送信データを設定してください 受信データが読めます 受信データが読めます ACK、NACKが入ります ACK、NACKが入ります アービトレーションロスト検出フラグ 無効 オーバランエラーフラグ オーバランエラーフラグ 転送速度を設定してください 無効 “0102”にしてください “0102”にしてください “0”にしてください “1”にしてください “0”にしてください “0”にしてください UiBRGのカウントソースを選択してください 無効 CRD=1なので無効 CRD=1なので無効 送信レジスタ空フラグ 送信レジスタ空フラグ “1”にしてください “1”にしてください “1”にしてください(注2) “1”にしてください(注2) “0”にしてください “0”にしてください “1”にしてください “1”にしてください 送信を許可する場合、“1”にしてください 送信を許可する場合、“1”にしてください 送信バッファ空フラグ 送信バッファ空フラグ 受信を許可する場合、“1”にしてください 受信を許可する場合、“1”にしてください 受信完了フラグ 受信完了フラグ 無効 無効 “0”にしてください “0”にしてください “1”にしてください アービトレーションロスト検出タイミング を選択してください バスビジーフラグ “0”にしてください 「表2.11.12 I2Cモード時の各機能」参照 クロック同期化を許可する場合、 “1”にしてください クロックの9ビット目の立ち下がりで SCLi出力を“L”出力固定にする場合、 “1”にしてください アービトレーションロスト検出時にSDAiの 出力を停止する場合“1”にしてください “0”にしてください “1”にしてください 無効 バスビジーフラグ “0”にしてください 「表2.11.12 I2Cモード時の各機能」参照 “0”にしてください クロックの9ビット目の立ち下がりで SCLi出力を“L”出力固定にする場合、 “1”にしてください “0”にしてください スタートコンディション検出でUARTiを 初期化する場合、“1”にしてください SWC2 SCLiの出力を強制的に“L”にする場合、 SCLiの出力を強制的に“L”にする場合、 “1”にしてください “1”にしてください SDHI SDAi出力を禁止をする場合、“1”に SDAi出力を禁止をする場合、“1”に してください してください 7 “0”にしてください “0”にしてください UiSMR3 0、2、4、NODC “0”にしてください “0”にしてください CKPH 「表2.11.12 I2Cモード時の各機能」参照 「表2.11.12 I2Cモード時の各機能」参照 DL2∼DL0 SDAiのディジタル遅延値を設定してください SDAiのディジタル遅延値を設定してください 注1. U0C1、U1C1レジスタのビット4、5は“0”にしてください。U0IRS、U1IRS、U0RRM、U1RRMビットはUCON レジスタにあります。 注2. TxD2端子はNチャネルオープンドレインです。U2C0レジスタのNCHビットは“0”にしてください。 注3. この表に記載していないビットはI2Cモード時に書く場合、“0”を書いてください。 i=0∼2 Rev.1.00 2004.03.01 page 128 of 311 M306H3MC-XXXFP/FCFP 表2.11.11. I2Cモード時の使用レジスタと設定値 (2) レジスタ UiSMR4 IFSR2A UCON ビット 機能 マスタ時 スレーブ時 STAREQ スタートコンディションを生成する場合、 “0”にしてください。 “1”にしてください RSTAREQ リスタートコンディションを生成する場合、 “0”にしてください。 “1”にしてください STPREQ ストップコンディションを生成する場合、 “0”にしてください。 “1”にしてください STSPSEL 各コンディション出力時に“1”に “0”にしてください。 してください ACKD ACK、NACKを選択してください ACK、NACKを選択してください ACKC ACKデータを出力する場合、“1”に ACKデータを出力する場合、“1”に してください してください SCLHI ストップコンディション検出時にSCLi出力 “0”にしてください。 を停止する場合、“1”にしてください SWC9 “0”にしてください クロックの9ビット目の次の立ち下がり でSCLiを“L”ホールドにする場合、 “1”にしてください IFSR26、IFSR27 “1”にしてください “1”にしてください U0IRS、U1IRS 無効 無効 2∼7 “0”にしてください “0”にしてください i=0∼2 Rev.1.00 2004.03.01 page 129 of 311 M306H3MC-XXXFP/FCFP 表2.11.12. I2Cモード時の各機能 I2Cモード(SMD2∼SMD0 =0102,IICM=1) 機 能 クロック同期シリア ルI/Oモード (SMD2∼SMD0 =0012, IICM=0) IICM2=0(NACK/ACK割り込み) CKPH=0 (クロック遅れなし) CKPH=1 (クロック遅れあり) IICM2=1 (UART送信/UART受信割り込み) CKPH=0 (クロック遅れなし) CKPH=1 (クロック遅れあり) 割り込み番号 6, 7, 10の要因 (注1、注5、注7) − 割り込み番号 15, 17, 19の要因 (注1、注6) UARTi送信 アクノリッジ未検出(NACK) 送信開始、または送信完 9ビット目のSCLiの立ち上がり 了(UiIRSで選択) UARTi送信 9ビット目のSCLiの 立ち上がり 割り込み番号 16, 18, 20の要因 (注1、注6) UARTi受信 8ビット目の受信時 CKPOL=0(立ち上がり) CKPOL=1(立ち下がり) アクノリッジ検出(ACK) 9ビット目のSCLiの立ち上がり UARTi受信 9ビット目のSCLiの立ち下がり UART受信シフトレ ジスタからUiRBレジ スタへのデータ転送 タイミング CKPOL=0(立ち上がり) CKPOL=1(立ち下がり) 9ビット目のSCLiの立ち上がり 9ビット目のSCLiの 立ち下がり UARTi送信出力遅延 遅延なし 遅延あり P63, P67, P70端子の機 能 TxDi出力 SDAi入出力 P62, P66, P71端子の機 能 RxDi入力 SCLi入出力 スタートコンディション検出、ストップコンディション検出 (「表2.11.13. STSPSELビットの機能」参照) P61, P65, P72端子の機 CLKi入力または出力選 能 択 −(I2Cモードには使用しない) ノイズフィルター幅 15ns 200ns RxDi, SCLi端子レベ ルの読み込み 対応するポート方向ビッ トが“0”の場合、可能 対応するポート方向ビットの内容に関係なく、可能 TxDi, SDAi出力の初 期値 CKPOL=0(H) CKPOL=1(L) I2Cモード設定前に、ポートレジスタに設定した値(注2) SCLiの初期値、終了 値 − H DMA1要因 (注6) UARTi受信 アクノリッジ検出(ACK) 受信データ格納 受信データ読み出し L 1∼8ビット目をUiRBレ 1∼8ビット目をUiRBレジスタのビット7∼0 ジスタのビット0∼7に格 に格納 納 UiRBレジスタの状態をそのまま読み出す H UARTi送信 9ビット目の次の SCLiの立ち下がり 9ビット目のSCLiの 立ち下がりと、立 ち上がり L UARTi受信 9ビット目のSCLiの立ち下がり 1∼7ビット目をUiRBレジスタのビット6 ∼0に、8ビット目をUiRBレジスタのビッ ト8に格納 1∼8ビット目 をUiRBレジスタの ビット7∼0に格納 (注3) UiRBレジスタのビ ット6∼0はビット7 ∼1として、ビッ ト8はビット0とし て読み出す(注4) i=0∼2 注1. 割り込み要因を変更すると、変更した割り込みの割り込み制御レジスタのIRビットが“1 ”(割り込み要求あり) になることがあります(「注意事項集の「割り込み注意事項」参照)。次のビットを変更すると、割り込み要因、 割り込みタイミング等が変化しますので、これらのビットを変更した後、IRビットを“0 ”(割り込み要求なし) にしてください。 UiMRレジスタのSMD2 ∼SMD0ビット、UiSMRレジスタのIICMビット、 UiSMR2レジスタのIICM2ビット、UiSMR3レジスタのCKPHビット 注2. SDAi 出力の初期値は、SMD2 ∼SMD0ビットが“0002 ”(シリアルI/O が無効)の状態で設定してください。 注3. UiRBレジスタへのデータ転送2回目(9ビット目SCLi 立ち上がり時) 注4. UiRBレジスタへのデータ転送1回目(9ビット目SCLi 立ち下がり時) 注5. 「図2.11.24. STSPSELビットの機能」参照。 注6. 「図2.11.22. UiRBレジスタへの転送、割り込みのタイミング」参照。 注7. UART0使用時はIFSR2AレジスタのIFSR26ビットを“1 ”(割り込み要因はUART0バス衝突)にしてください。 UART1使用時はIFSR2AレジスタのIFSR26ビットを“1 ”(割り込み要因はUART1バス衝突)にしてください。 Rev.1.00 2004.03.01 page 130 of 311 M306H3MC-XXXFP/FCFP (1)IICM2=“0”(ACK、NACK割り込み)、 CKPH=“0” (クロック遅れなし)の場合 1ビット目 2ビット目 3ビット目 4ビット目 5ビット目 D5 D4 D3 6ビット目 7ビット目 8ビット目 9ビット目 SCLi D7 SDAi D6 D2 D1 D0 D8(ACK、NACK) ACK割り込み(DMA1要求)、 NACK割り込み UiRBレジスタへの転送 b15 b9 ・・・ b8 b7 D8 D7 b0 D6 D5 D4 D3 D2 D1 D0 D1 D0 D2 D1 UiRBレジスタの内容 (2)IICM2=“0”、 CKPH=“1” (クロック遅れあり)の場合 1ビット目 2ビット目 3ビット目 4ビット目 5ビット目 D5 D4 D3 6ビット目 7ビット目 8ビット目 9ビット目 SCLi D7 SDAi D6 D2 D1 D0 D8(ACK、NACK) ACK割り込み(DMA1要求)、 NACK割り込み UiRBレジスタへの転送 b15 b9 ・・・ b8 b7 D8 D7 b0 D6 D5 D4 D3 D2 UiRBレジスタの内容 (3)IICM2=“1”(UART送信、受信割り込み)、 CKPH=“0”の場合 1ビット目 2ビット目 3ビット目 4ビット目 5ビット目 D5 D4 D3 6ビット目 7ビット目 8ビット目 9ビット目 SCLi D7 SDAi D6 D2 D1 D0 D8(ACK、NACK) 受信割り込み 送信割り込み (DMA1要求) UiRBレジスタへの転送 b15 b9 b8 b7 D0 ・・・ b0 D7 D6 D5 D4 D3 UiRBレジスタの内容 (4) IICM2=“1”、CKPH=“1” の場合 1ビット目 2ビット目 3ビット目 4ビット目 5ビット目 D5 D4 D3 6ビット目 7ビット目 8ビット目 9ビット目 SCLi D7 SDAi D6 D2 D1 D0 D8(ACK、NACK) 受信割り込み (DMA1要求) UiRBレジスタへの転送 b15 b9 b8 D0 ・・・ i=0∼2 b7 b0 D7 D6 D5 D4 D3 D2 UiRBレジスタの内容 この図は次の設定条件の場合です。 ●UiMRレジスタのCKDIRビット = 0(スレーブ選択) 図2.11.22. UiRBレジスタへの転送、割り込みのタイミング Rev.1.00 2004.03.01 page 131 of 311 D1 送信割り込み UiRBレジスタへの転送 b15 b9 ・・・ b8 b7 D8 D7 b0 D6 D5 D4 D3 D2 UiRBレジスタの内容 D1 D0 M306H3MC-XXXFP/FCFP ●スタートコンディション、ストップコンディションの検出 スタートコンディション検出またはストップコンディション検出を判定します。 スタートコンディション検出割り込み要求は、 SCLi端子 が“H”の状態でSDAi端子が“H”から “L”に変化すると発生します。ストップコンディション検出割り込み要求は、 SCLi端子が“H”の 状態でSDAi端子が“L”から“H”に変化すると発生します。 スタートコンディション検出割り込みと、ストップコンディション検出割り込みは、割り込み制御 レジスタ、ベクタを共用していますので、どちらの要求による割り込みかは、UiSMRレジスタのBBS ビットで判定してください。 3∼6サイクル < セットアップ時間(注1) 3∼6サイクル < ホールド時間(注1) セットアップ時間 ホールド時間 SCLi SDAi (スタートコンディション) SDAi (ストップコンディション) i=0∼2 注1. PCLKRレジスタのPCLK1ビットが“1”の場合はf1SIOの、PCLK1ビットが “0”の場合はf2SIOのサイクル数です。 図2.11.23. スタートコンディション、ストップコンディションの検出 ●スタートコンディション、ストップコンディションの出力 UiSMR4レジスタ(i=0∼2)のSTAREQビットを“1”(スタート)にするとスタートコンディションを生 成します。 UiSMR4レジスタのRSTAREQビットを“1”(スタート)にするとリスタートコンディションを生成 します。 UiSMR4レジスタのSTPREQビットを“1”(スタート)にするとストップコンディションを生成しま す。 出力の手順は次の通りです。 (1) STAREQビット、RSTAREQビット、またはSTPREQビットを“1 ”(スタート)にする (2) UiSMR4レジスタのSTSPSELビット“1 ”(出力)にする 表2.11.13と図2.11.24にSTSPSELビットの機能を示します。 Rev.1.00 2004.03.01 page 132 of 311 M306H3MC-XXXFP/FCFP 表2.11.13. STSPSELビットの機能 機能 STSPSEL=0 STSPSEL=1 SCLi、SDAi端子の出力 転送クロック、データを出力。 STAREQビット、RSTAREQビット、 スタートコンディション、スト STPREQビットに従って、スタートコンデ ップコンディションの出力はポ ィション、ストップコンディションを出力 ートを使ったプログラムで実現 (ハードウエアによる自動生成は しない) スタートコンディション、ストップ スタートコンディション、スト スタートコンディション、ストップコンデ コンディション割り込み要求発生タ ップコンディション検出 ィション生成終了 イミング (1) スレーブ時 CKDIR=1(外部クロック) STSPSELビット 0 1ビット目 2ビット目 3ビット目 5ビット目 6ビット目 7ビット目 8ビット目 9ビット目 SCLi SDAi スタートコンディション検 出割り込み ストップコンディション検 出割り込み (2) マスタ時 CKDIR=0(内部クロック)、CKPH=1(クロック遅れあり) STSPSELビット プログラムで “1”にする プログラムで “0”にする 1ビット目 2ビット目 プログラムで “1”にする 3ビット目 5ビット目 6ビット目 7ビット目 8ビット目 プログラムで “0”にする 9ビット目 SCLi SDAi STAREQ=1 (スタート)に する スタートコンディション検 出割り込み STPREQ=1 (スタート)に する ストップコンディション検出 割り込み 図2.11.24. STSPSELビットの機能 ●アービトレーション SCLiの立ち上がりのタイミングで、送信データとSDAi端子入力データの不一致を判定します。UiSMR レジスタのABCビットで、UiRBレジスタのABTビットの更新タイミングを選択します。ABCビット が“0”(ビットごとに更新)の場合、判定時に不一致を検出すると同時にABTビットが“1”に、検出 しないと“0”になります。ABCビットを“1”にすると、判定時に一度でも不一致が検出された場合、 9ビット目のクロックの立ち下がりでABTビットが“1”(不一致検出)になります。なお、バイトごと に更新する場合は、1バイト目のアクノリッジ検出完了後、ABTビットを“0”(未検出)にしてから、 次の1バイトを転送してください。 UiSMR2レジスタのALSビットを“1”(SDA出力停止許可)にすると、アービトレーションロストが 発生しABTビットが“1”(不一致検出)になったとき、同時にSDAi端子がハイインピーダンス状態に なります。 Rev.1.00 2004.03.01 page 133 of 311 M306H3MC-XXXFP/FCFP ●転送クロック 図2.11.24に示すような転送クロックで送受信を行います。 UiSMR2レジスタのCSCビットは内部で生成したクロック(内部SCLi)と、SCLi端子に入力される外 部クロックの同期をとるためのビットです。CSCビットを“1”(クロック同期化を許可)にすると、内 部SCLiが“H”の場合、SCLi端子に立ち下がりエッジがあれば内部SCLiを“L”とし、UiBRGレジス タの値をリロードしてL区間のカウントを開始します。また、SCLi端子が“L”のとき、内部SCLiが “L”から“H”に変化するとカウントを停止し、SCLi端子が“H”になるとカウントを再開します。 したがって、UARTiの転送クロックは、内部SCLiとSCLi端子の信号の論理積になります。なお、転 送クロックは内部SCLiの1ビット目の立ち下がりの半周期前から9ビット目の立ち上がりまでの期間で 動作します。この機能を使用する場合、転送クロックは内部クロックを選択してください。 UiSMR2レジスタのSWCビットでクロックの9ビット目の立ち下がりで、SCLi端子は“L”出力固定 になるか“L”出力固定を解除するかを選択できます。 UiSMR4レジスタのSCLHIビットを“1”(許可)にすると、ストップコンディション検出時にSCLi出 力を停止します(ハイインピーダンス状態)。 UiSMR2レジスタのSWC2ビットを“1”(0出力)にすると、送受信中でもSCLi端子から強制的に“L” を出力できます。SWC2ビットを“0”(転送クロック)にすると、SCLi端子からの“L”出力は解除さ れ、転送クロックが入出力されます。 UiSMR3レジスタのCKPHビットが“1”のとき、UiSMR4レジスタのSWC9ビットを“1”(SCL“L” ホールド許可)にすると、クロックの9ビット目の次の立ち下がりでSCLi端子は“L”出力固定になり ます。SWC9ビットを“0”(SCL“L”ホールド禁止)にすると“L”出力固定は解除されます。 ●SDA出力 UiTBレジスタのビット7∼0(D7∼D0)に書いた値を、D7から順に出力します。9ビット目(D8)はACK またはNACKです。 SDAi送信出力の初期値は、IICM=1(I2Cモード)で、UiMRレジスタのSMD2∼SMD0ビットが“0002” (シリアルI/Oは無効)の状態で設定してください。 UiSMR3レジスタのDL2∼DL0ビットによりSDAiの出力を遅延なし、またはUiBRGカウントソース の2∼8サイクルの遅延を設定できます。 UiSMR2レジスタのSDHIビットを“1”(SDA出力禁止)にすると、SDAi端子が強制的にハイインピー ダンス状態になります。なお、SDHIビットはUARTiの転送クロックの立ち上がりのタイミングで書 かないでください。ABTビットが“1”(検出)になる場合があります。 ●SDA入力 IICM2ビットが“0”のとき、受信したデータの1∼8ビット目(D7∼D0)をUiRBレジスタのビット7∼ 0に格納します。9ビット目(D8)はACKまたはNACKです。 IICM2ビットが“1”のとき、受信したデータの1∼7ビット目(D7∼D1)をUiRBレジスタのビット6∼ 0に、8ビット目(D0)をUiRBレジスタのビット8に格納します。IICM2ビットが“1”のときでも、CKPH ビットが“1”であれば、9ビット目のクロックの立ち上がり後にUiRBレジスタを読み出すことによ り、IICM2ビットが“0”のときと同様のデータが読めます。 Rev.1.00 2004.03.01 page 134 of 311 M306H3MC-XXXFP/FCFP ●ACK、NACK UiSMR4レジスタのSTSPSELビットが“0”(スタートコンディション、ストップコンディションを 生成しない)でUiSMR4レジスタのACKCビットが“1”(ACKデータ出力)の場合、UiSMR4レジスタの ACKDビットの値がSDAi端子から出力されます。 IICM2ビットが“0”の場合、NACK割り込み要求は、送信クロックの9ビット目の立ち上がり時に SDAi端子が“H”のままであると発生します。ACK割り込み要求は、送信クロックの9ビット目の立 ち上がり時にSDAi端子が“L”ならば発生します。 DMA1要求要因にACKiを選択すると、アクノリッジ検出によってDMA転送を起動できます。 ●送受信初期化 STACビットを“1”(UARTi初期化許可)にし、スタートコンディションを検出すると次のように動 作します。 ・送信シフトレジスタは初期化され、UiTBレジスタの内容が送信シフトレジスタに転送されます。 これにより、次に入力されたクロックを1ビット目として送信を開始します。ただし、UARTi出力 値はクロックが入って1ビット目のデータが出力されるまでの間は変化せず、スタートコンディショ ンを検出した時点の値のままです。 ・受信シフトレジスタは初期化され、次に入力されたクロックを1ビット目として受信が開始されま す。 ・SWCビットが“1”(SCLウエイト出力許可)になります。これにより、クロックの9ビット目の立ち 下がりでSCLi端子が“L”になります。 なお、この機能を使用しUARTiの送受信を開始した場合、TIビットは変化しません。また、この機 能を使用する場合、転送クロックは外部クロックを選択してください。 Rev.1.00 2004.03.01 page 135 of 311 M306H3MC-XXXFP/FCFP 2.11.5 特殊モード2 1つのマスタから、複数のスレーブへシリアル通信できます。また、転送クロックの極性と位相を選 択できます。表2.11.14に特殊モード2の仕様を、表2.11.15に特殊モード2時の使用レジスタと設定値を、 図2.11.25に特殊モード2の通信制御例を示します。 表2.11.14. 特殊モード2の仕様 項 目 転送データフォーマット 仕 様 転送データ長 8ビット 転送クロック ●マスタモード UiMRレジスタ(i=0∼2)のCKDIRビットが“0”(内部クロック選択):fj/2(n+1) fj=f1SIO、f2SIO、f8SIO、f32SIO ●スレーブモード n:UiBRGレジスタ設定値。0016∼FF16。 CKDIRビットが“1”(外部クロック選択):CLKi端子からの入力 入出力ポートで制御 送信制御、受信制御 送信開始条件 送信開始には次の条件が必要です。(注1) ・UiC1レジスタのTEビットが“1”(送信許可) ・UiC1レジスタのTIビット が“0”(UiTBレジスタにデータあり) 受信開始には、次の条件が必要です。(注1) 受信開始条件 ・UiC1レジスタのREビットが“1”(受信許可) ・TEビットが“1”(送信許可) 割り込み要求発生タイミング ・TIビットが“0”(UiTBレジスタにデータあり) 送信時、次の条件のいずれかを選択できます。 ・UiC1レジスタのUiIRSビットが“0”(送信バッファ空): UiTBレジスタからUARTi送信レジスタへデータ転送時(送信開始時) ・UiIRSビットが“1”(送信完了):UARTi送信レジスタからデータ送信完了時 受信時 エラー検出 ・UARTi受信レジスタからUiRBレジスタへデータ転送時(受信完了時) オーバランエラー(注2) UiRBレジスタを読む前に次のデータ受信を開始し、次のデータの7ビット目を 受信すると発生 選択機能 ●クロック位相選択 転送クロックの極性と相の4つの組み合わせを選択可 注1. 外部クロックを選択している場合、UiC0レジスタのCKPOLビットが“0”(転送クロックの立ち下がりで送信デー タ出力、立ち上がりで受信データ入力)のときは外部クロックが“H”の状態で、CKPOLビットが“1”(転送クロッ クの立ち上がりで送信データ出力、立ち下がりで受信データ入力)のときは外部クロックが“L”の状態で条件を 満たしてください。 注2. オーバランエラーが発生した場合、UiRBレジスタは不定になります。またSiRICレジスタのIRビットは変化しま せん。 P13 P12 P72(CLK2) P71(RxD2) P70(TxD2) マイクロコンピュータ (マスタ) P93 P72(CLK2) P71(RxD2) P70(TxD2) マイクロコンピュータ(スレーブ) P93 P72(CLK2) P71(RxD2) P70(TxD2) マイクロコンピュータ(スレーブ) 図2.11.25. 特殊モード2の通信制御例(UART2) Rev.1.00 2004.03.01 page 136 of 311 M306H3MC-XXXFP/FCFP 表2.11.15. 特殊モード2時の使用レジスタと設定値 レジスタ ビット 機 能 UiTB(注3) 0∼7 送信データを設定してください UiRB(注3) 0∼7 受信データが読めます UiBRG OER オーバランエラーフラグ 0∼7 転送速度を設定してください UiMR(注3) SMD2∼SMD0 UiC0 UiC1 “0012”にしてください CKDIR マスタモードの場合“0”に、スレーブモードの場合“1”にしてください IOPOL “0”にしてください CLK0,CLK1 UiBRGのカウントソースを選択してください CRS CRD=“1”なので無効 TXEPT 送信レジスタ空フラグ CRD “1”にしてください NCH TxDi端子の出力形式を選択してください(注2) CKPOL UiSMR3レジスタのCKPHビットとの組み合わせでクロック位相 が設定できます UFORM “0”にしてください TE 送受信許可する場合、“1”にしてください TI 送信バッファ空フラグ RE 受信を許可する場合、“1”にしてください RI 受信完了フラグ U2IRS(注1) UART2送信割り込み要因を選択してください U2RRM(注1)、U2LCH、UiERE “0”にしてください UiSMR 0∼7 “0”にしてください UiSMR2 0∼7 “0”にしてください UiSMR3 CKPH UiC0レジスタのCKPOLビットとの組み合わせでクロック位相 が設定できます UiSMR4 UCON NODC “0”にしてください 0、2、4∼7 “0”にしてください 0∼7 “0”にしてください U0IRS、U1IRS UART0、1送信割り込み要因を選択してください U0RRM、U1RRM “0”にしてください CLKMD0 CLKMD1=0なので無効 CLKMD1、RCSP、7 “0”にしてください 注1.U0C0、U1C1レジスタのビット4、5は“0”にしてください。U0IRS、U1IRS、U0RRM、U1RRMビットはUCONレ ジスタにあります。 注2.TxD2端子はNチャネルオープンドレインです。U2C0レジスタのNCHビットは“0”にしてください。 注3. この表に記載していないビットは特殊モード2時に書く場合、“0”を書いてください。 i=0∼2 Rev.1.00 2004.03.01 page 137 of 311 M306H3MC-XXXFP/FCFP ■クロック位相設定機能 UiSMR3レジスタのCKPHビットとUiC0レジスタのCKPOLビットで転送クロックの相と極性の4つの 組み合わせを選択できます。 転送クロックの極性と相は、転送を行うマスタとスレーブで同じにしてください。 ●マスタ(内部クロック)の場合 図2.11.26にマスタ(内部クロック)の場合の送受信のタイミングを示します。 ●スレーブ(外部クロック)の場合 図2.11.27にスレーブ(外部クロック)の場合の送受信のタイミング(CKPH=0)、図2.11.28にスレーブ (外部クロック)の場合の送受信のタイミング(CKPH=1)を示します。 “H” クロック出力 (CKPOL=0、CKPH=0) “L” クロック出力 “H” (CKPOL=1、CKPH=0) “L” “H” クロック出力 (CKPOL=0、CKPH=1) “L” “H” クロック出力 (CKPOL=1、CKPH=1) “L” データ出力 タイミング “H” “L” D0 D1 D2 D3 データ入力 タイミング 図2.11.26. マスタ(内部クロック)の場合の送受信のタイミング Rev.1.00 2004.03.01 page 138 of 311 D4 D5 D6 D7 M306H3MC-XXXFP/FCFP スレーブ制御入力 “H” “L” “H” クロック入力 (CKPOL=0、CKPH=0)“L” “H” クロック入力 (CKPOL=1、CKPH=0) “L” データ出力 タイミング (注1) “H” “L” D0 不定 D1 D2 D3 D4 D5 D6 D7 D6 D7 データ入力 タイミング 注1. UART2の出力はNチャネルオープンドレイン出力です。 外部でプルアップしてください。 図2.11.27. スレーブ(外部クロック)の場合の送受信のタイミング(CKPH=0) スレーブ制御入力 “H” “L” クロック入力 “H” (CKPOL=0、CKPH=1)“L” クロック入力 “H” (CKPOL=1、CKPH=1)“L” データ出力 タイミング (注1) “H” “L” D0 D1 D2 D3 D4 D5 データ入力 タイミング 注1. UART2の出力はNチャネルオープンドレイン出力です。 外部でプルアップしてください。 図2.11.28. スレーブ(外部クロック)の場合の送受信のタイミング(CKPH=1) Rev.1.00 2004.03.01 page 139 of 311 M306H3MC-XXXFP/FCFP 2.11.6 特殊モード3(IEモード) UARTモードの1バイトの波形でIEBusの1ビットに近似させるモードです。 表2.11.16にIEモード時の使用レジスタと設定値を、図2.11.29にバス衝突検出機能関連ビットの機能を 示します。 TXDi端子(i=0∼2)の出力レベルとRXDi端子の入力レベルが異なる場合、UARTiバス衝突検出割り込み 要求が発生します。 UART0、UART1のバス衝突検出機能を使用する場合は、IFSR2AレジスタのIFSR26ビットとIFSR27ビッ トで選択してください。 表2.11.16. IEモード時の使用レジスタと設定値 レジスタ ビット 機 能 UiTB 0∼8 送信データを設定してください UiRB(注3) 0∼8 受信データが読めます OER、FER、PER、SUM エラーフラグ UiBRG 0∼7 転送速度を設定してください UiMR SMD2∼SMD0 “1102” にしてください CKDIR 内部クロック、外部クロックを選択してください STPS “0”にしてください PRY PRYE=0なので無効 PRYE “0”にしてください IOPOL TxD、RxD入出力極性を選択してください UiC0 CLK1∼CLK0 UiBRGのカウントソースを選択してください CRS CRD=1なので無効 TXEPT 送信レジスタ空フラグ CRD “1”にしてください NCH TxDi端子の出力形式を選択してください(注2) CKPOL “0”にしてください UFORM “0”にしてください UiC1 TE 送信を許可する場合“1”にしてください TI 送信バッファ空フラグ RE 受信を許可する場合、“1”にしてください RI 受信完了フラグ U2IRS(注1) UART2送信割り込み要因を選択してください UiRRM(注1)、 “0”にしてください UiLCH、UiERE UiSMR 0∼3、7 “0”にしてください ABSCS バス衝突検出サンプリングタイミングを選択してください ACSE 送信許可ビット自動クリアを使用する場合、“1”にしてください SSS 送信開始条件を選択してください UiSMR2 0∼7 “0”にしてください UiSMR3 0∼7 “0”にしてください UiSMR4 0∼7 “0”にしてください IFSR2A IFSR26、IFSR27 “1”にしてください UCON U0IRS、U1IRS UART0、1送信割り込み要因を選択してください U0RRM、U1RRM “0”にしてください CLKMD0 CLKMD1=0なので無効 CLKMD1、RCSP、7 “0”にしてください 注1.U0C0、U1C1レジスタのビット4、5は“0”にしてください。U0IRS、U1IRS、U0RRM、U1RRMビットはUCONレ ジスタにあります。 注2.TxD2端子はNチャネルオープンドレインです。U2C0レジスタのNCHビットは“0”にしてください。 注3. この表に記載していないビットはIEモード時に書く場合、“0”を書いてください。 i=0∼2 Rev.1.00 2004.03.01 page 140 of 311 M306H3MC-XXXFP/FCFP (1) UiSMRレジスタのABSCSビット (バス衝突検出サンプリングクロック選択) (i=0∼2) ABSCS=0の場合、転送クロックの立ち上がりで判定 転送クロック ST D0 D1 D2 D3 D4 D5 D6 D7 D8 SP TxDi RxDi TAjINへトリガ入力 タイマAj ABSCS=1の場合、タイマAj(ワンショットタイマモード)のアンダフロー時に判定。 タイマAj:UART0の場合タイマA3。UART1の場合タイマA4。UART2の場合タイマA0。 (2) UiSMRレジスタのACSEビット (送信許可ビット自動クリア) 転送クロック ST D0 D1 D2 D3 D4 D5 D6 D7 D8 SP TxDi RxDi UiBCNICレジスタ(注1) のIRビット ACSEビット=1(バス衝突発生時 自動クリア)の場合、UiBCNIC レジスタのIRビットが“1” (不一致検出)のとき、TEビット が“0”(送信禁止)になる UiC1レジスタの TEビット 注1.UART2の場合はBCNICレジスタ。 (3) UiSMRレジスタのSSSビット(送信開始条件選択) SSS=0の場合、送信許可条件成立後、転送クロックの1サイクル後から送信開始 転送クロック ST D0 D1 D2 D3 D4 D5 D6 D7 D8 SP D4 D5 D6 D7 D8 SP TxDi 送信条件成立 SSSビット=1の場合、RxDiの立ち上がり(注1)で送信開始 CLKi ST D0 D1 D2 D3 (注2) TxDi RxDi 注1.IOPOL=0の場合、RxDiの立ち下がり。IOPOL=1の場合、RxDiの立ち上がり。 注2.送信条件は、RxDの立ち下がり(注1)前に成立している必要があります。 この図は、IOPOL=1(反転あり)の場合です。 図2.11.29. バス衝突検出機能関連ビットの機能 Rev.1.00 2004.03.01 page 141 of 311 M306H3MC-XXXFP/FCFP 2.11.7 特殊モード4(SIMモード)(UART2) UARTモードを使用して、SIMインタフェースに対応するモードです。ダイレクトフォーマットとイン バースフォーマットが実現でき、パリティエラー検出時にはTxD2端子から“L”を出力できます。 表2.11.17にSIMモードの仕様を、表2.11.18にSIMモード時の使用レジスタと設定値を示します。 表2.11.17. SIMモードの仕様 項 目 転送データフォーマット 仕 様 ●ダイレクトフォーマット ●インバースフォーマット 転送クロック ●U2MRレジスタのCKDIRビットが“0”(内部クロック):fi/16(n+1) fi=f1SIO、f2SIO、f8SIO、f32SIO。n=U2BRGレジスタの設定値 0016∼FF16 ●CKDIRビットが“1”(外部クロック):fEXT/16(n+1) fEXTはCLK2端子からの入力。n=U2BRGレジスタの設定値 0016∼FF16 送信開始条件 ●送信開始には、次の条件が必要です。 ・U2C1レジスタのTEビットが“1”(送信許可) ・U2C1レジスタのTIビットが“0”(U2TBレジスタにデータあり) 受信開始条件 ●受信開始には、次の条件が必要です。 ・U2C1レジスタのREビットが“1”(受信許可) ・スタートビットの検出 割り込み要求発生タイミング ●送信時 (注2) UART2送信レジスタからデータ転送完了時(U2IRSビット=“1”) ●受信時 UART2受信レジスタからU2RBレジスタへデータ転送(受信完了)時 エラー検出 ●オーバランエラー(注1) U2RBレジスタを読む前に次のデータ受信を開始し、次のデータの最終 ストップビットの1つ前のビットを受信すると発生 ●フレーミングエラー 設定した個数のストップビットが検出されなかったときに発生 ●パリティエラー 受信時、パリティエラーを検出すると、パリティエラー信号をTxD2端子から 出力 送信時、送信割り込み発生時、RXD2端子の入力レベルによりパリティエラー を検知 ●エラーサムフラグ オーバランエラー、フレーミングエラー、パリティエラーのうちいずれか が発生した場合“1”になる 注1. オーバランエラーが発生した場合、U2RBレジスタは不定になります。またS2RICレジスタのIRビット は変化しません。 注2. リ セット解除後、U2C1レジスタのU2IRSビットを“1 ”(送信完了)、U2EREビットを“1 ”(エラー 信号出力)にすると、送信割り込み要求が発生します。そのため、SIMモードを使用する場合は設定後、 IRビットを“0 ”(割り込み要求なし)にしてください。 Rev.1.00 2004.03.01 page 142 of 311 M306H3MC-XXXFP/FCFP 表2.11.18. SIMモード時の使用レジスタと設定値 レジスタ ビット 機 能 U2TB(注1) 0∼7 送信データを設定してください U2RB(注1) 0∼7 受信データが読めます OER、FER、PER、SUM エラーフラグ U2BRG 0∼7 転送速度を設定してください U2MR SMD2∼SMD0 “1012”にしてください CKDIR 内部クロック、外部クロックを選択してください STPS “0”にしてください PRY ダイレクトフォーマットの場合“1”に、インバースフォーマット の場合“0”にしてください U2C0 PRYE “1”にしてください IOPOL “0”にしてください CLK0,CLK1 U2BRGのカウントソースを選択してください CRS CRD=1なので無効 TXEPT 送信レジスタ空フラグ CRD “1”にしてください NCH “0”にしてください CKPOL “0”にしてください UFORM ダイレクトフォーマットの場合“0”に、インバースフォーマットの場合 “1”にしてください U2C1 TE 送信を許可する場合“1”にしてください TI 送信バッファ空フラグ RE 受信を許可する場合“1”にしてください RI 受信完了フラグ U2IRS “1”にしてください U2RRM “0”にしてください U2LCH ダイレクトフォーマットの場合“0”に、インバースフォーマット の場合“1”にしてください U2ERE “1”にしてください U2SMR(注1) 0∼3 “0”にしてください U2SMR2 0∼7 “0”にしてください U2SMR3 0∼7 “0”にしてください U2SMR4 0∼7 “0”にしてください 注1. この表に記載していないビットはSIMモード時に書く場合、“0”を書いてください。 Rev.1.00 2004.03.01 page 143 of 311 M306H3MC-XXXFP/FCFP (1) 送信 Tc 転送クロック U2C1レジスタの “1” TEビット “0” U2TBレジスタにデータを書く U2C1レジスタの “1” TIビット “0” UART2送信レジスタ←U2TBレジスタ パリティ ストップ ビット ビット スタート ビット TxD2 ST D0 D1 D2 D3 D4 D5 D6 D7 P ST D0 D1 D2 D3 D4 D5 D6 D7 SP 受信側が返してきた パリティーエラー信号 P SP パリティエラーが発生したため“L” が返ってくる RxD2端子レベル ST D0 D1 D2 D3 D4 D5 D6 D7 (注1) P ST D0 D1 D2 D3 D4 D5 D6 D7 SP P SP 割り込みルーチン でレベルを検知 “1” 割り込みルーチン でレベルを検知 U2C0レジスタの “0” TXEPTビット 転送クロックの立ち下がりで IRビットが“1”になる “1” S2TICレジスタの “0” IRビット 上記タイミング図はダイレクトフォーマットで送信した場合です。 ●U2MRレジスタのSTPSビット=0(1ストップビット) ●U2MRレジスタのPRYビット=1(偶数パリティー) ●U2C0レジスタのUFORMビット=0(LSBファースト) ●U2C1レジスタのU2LCHビット=0(反転なし) ●U2C1レジスタのU2IRSビット=1(送信完了) 割り込み要求の受け付け、またはプログラムで“0”にする Tc = 16(n+1) / fiまたは16(n+1)/fEXT fi : U2BRGのカウントソースの周波数 (f1SIO、f2SIO、f8SIO、f32SIO) fEXT : U2BRGのカウントソースの周波数 (外部クロック) n : U2BRGに設定した値 注1. TxD2とRxD2を接続しているためTxD2出力と受信側が返してきたパリティーエラー信号出力を合成した波形になる。 (2) 受信 Tc 転送クロック U2C1レジスタの “1” REビット “0” スタート ビット 送信側の送信波形 パリティ ストップ ビット ビット ST D0 D1 D2 D3 D4 D5 D6 D7 P SP ST D0 D1 D2 D3 D4 D5 D6 D7 P SP TxD2 パリティエラーが発生したためTxD2 から“L”を出力する RxD2端子レベル ST D0 D1 D2 D3 D4 D5 D6 D7 P SP ST D0 D1 D2 D3 D4 D5 D6 D7 (注1) P SP U2C0レジスタの “1” RIビット “0” U2RBレジスタを読む S2RICレジスタの “1” IRビット “0” 上記タイミング図はダイレクトフォーマットで受信した場合です。 ●U2MRレジスタのSTPSビット=0(1ストップビット) ●U2MRレジスタのPRYビット=1(偶数パリティー) ●U2C0レジスタのUFORMビット=0(LSBファースト) ●U2C1レジスタのU2LCHビット=0(反転なし) ●U2C1レジスタのU2IRSビット=1(送信完了) 割り込み要求の受け付け、またはプログラムで“0”にする Tc = 16(n+1) / fiまたは16(n+1)/fEXT fi : U2BRGのカウントソースの周波数 (f1SIO、f2SIO、f8SIO、f32SIO) fEXT : U2BRGのカウントソースの周波数 (外部クロック) n : U2BRGに設定した値 注1. TxD2とRxD2を接続しているため送信側の送信波形とパリティーエラー信号出力を合成した波形になる。 図2.11.30. SIMモードの送受信タイミング例 Rev.1.00 2004.03.01 page 144 of 311 U2RBレジスタを読む M306H3MC-XXXFP/FCFP 図2.11.31にSIMインタフェースの接続例を示します。TXD2とRXD2を接続してプルアップしてください。 マイクロコンピュータ SIMカード TxD2 RxD2 図2.11.31. SIMインタフェース接続例 ■パリティエラー信号出力機能 U2C1レジスタのU2EREビットを“1”にすると、パリティエラー信号を使用できます。 ・受信時 パリティエラー信号は、受信時にパリティーエラーを検出した場合に出力する信号で、図2.11.32に 示すタイミングでTxD2出力が“L”になります。ただし、パリティエラー信号出力中にU2RBレジ スタを読むと、PERビットが“0”になり、同時にTxD2出力も“H”に戻ります。 ・送信時 送信時、送信完了割り込み要求がストップビットを出力した次の転送クロックの立ち下がりで発生 します。したがって、送信完了割り込みルーチンで、RxD2と端子を共用するポートを読むと、パ リティエラー信号が返されたかどうかが判定できます。 転送クロック “H” “L” RxD2 TxD2 “H” “L” ST D0 D1 “H” D2 D3 D4 D5 D6 D7 P SP (注1) “L” U2C1レジスタの RIビット “1” “0” 上記タイミング図はダイレクトフォーマットの場合です。 注1. マイクロコンピュータの出力はハイインピーダンス(外部プルアップ) 図2.11.32. パリティエラー信号出力タイミング Rev.1.00 2004.03.01 page 145 of 311 ST:スタートビット P:偶数パリティ SP:ストップビット M306H3MC-XXXFP/FCFP ■フォーマット ・ダイレクトフォーマット U2MRレジスタのPRYビットを“1”、U2C0レジスタのUFORMビットを“0”、U2C1レジスタの U2LCHビットを“0”にしてください。 ・インバースフォーマット PRYビットを“0”、UFORMビットを“1”、U2LCHビットを“1”にしてください。 図2.11.33にSIMインタフェースフォーマットを示します。 (1) ダイレクトフォーマット 転送クロック TxD2 “H” “L” “H” “L” D0 D1 D2 D3 D4 D5 D6 D7 P P:偶数パリティ (2) インバースフォーマット 転送クロック TxD2 “H” “L” “H” “L” D7 D6 D5 D4 D3 D2 D1 D0 P P:奇数パリティ 図2.11.33. SIMインタフェースフォーマット Rev.1.00 2004.03.01 page 146 of 311 M306H3MC-XXXFP/FCFP 2.11.8 SI/O3、SI/O4 SI/O3、SI/O4は、クロック同期形専用シリアルI/Oです。 図2.11.34にSI/O3、SI/O4ブロック図、図2.11.35にSI/O3、SI/O4関連レジスタを示します。 表2.11.19にSI/O3、SI/O4の仕様を示します。 1/2 メインクロック f2SIO PCLK1=0 f1SIO PCLK1=1 1/8 1/4 クロック源選択 SMi1∼SMi0 002 f8SIO 012 f32SIO 102 同期回路 SMi3 SMi6 SMi4 CLKi データバス 1/(n+1) 1/2 SiBRGレジスタ SMi6 CLK極性 切替回路 S I/Oカウンタ i SMi2 SMi3 SMi5 LSB SOUTi SINi MSB SiTRRレジスタ 8 注1. i = 3、4 n: SiBRGレジスタに設定した値。 図2.11.34. SI/O3、SI/O4ブロック図 Rev.1.00 2004.03.01 page 147 of 311 S I/Oi 割り込み要求 M306H3MC-XXXFP/FCFP S I/Oi 制御レジスタ (i = 3、 4) (注1) b7 b6 b5 b4 b3 b2 b1 b0 シンボル S3C S4C ビット シンボル SMi0 アドレス 036216番地 036616番地 機 能 RW 0 0 : f1SIOまたはf2SIOを選択 0 1 : f8SIOを選択 1 0 : f32SIOを選択 1 1 : 設定しないでください RW ビット名 内部同期クロック選択ビット SMi1 SMi2 リセット後の値 010000002 010000002 SOUTi 出力禁止ビット (注4) b1 b0 RW 0 : SOUTi出力 1 : SOUTi出力禁止(ハイインピーダンス) RW SMi3 S I/Oiポート選択ビット 0 : 入出力ポート 1 : SOUTi出力、CLKi機能 RW SMi4 CLK極性選択ビット 0 : 転送クロック立ち下がりで送信データ 出力、立ち上がりで受信データ入力 1 : 転送クロック立ち上がりで送信データ 出力、立ち下がりで受信データ入力 RW RW SMi5 転送方向選択ビット 0 : LSBファースト 1 : MSBファースト SMi6 同期クロック選択ビット 0 : 外部クロック 1 : 内部クロック SMi7 SOUTi 初期値設定ビット SMi3=0の場合に有効 0 : “L”出力 1 : “H”出力 (注2) (注3) RW RW 注1. このレジスタは、PRCRレジスタのPRC2ビットを“1”(書き込み許可)にした次の命令で書いてください。 注2. SMi3ビットを“1”に、対応するポート方向ビットを“0”(入力モード)にしてください。 注3. SMi3ビットを“1”(SOUTi出力、CLKi機能)にしてください。 注4. SMi2ビットを“1”にすると、対象端子は使用している機能に関係なくハイインピーダンスになります。 SI/Oi転送速度レジスタ (i = 3、 4) (注1、注2) b7 シンボル S3BRG S4BRG b0 アドレス 036316番地 036716番地 リセット後の値 不定 不定 機 能 設定範囲 RW 設定値を nとすると、SiBRGはカウントソースをn+1分周する 0016∼FF16 WO 注1. 送受信停止中に書いてください。 注2. このレジスタはMOV命令を使用して書いてください。 SI/Oi送受信レジスタ (i = 3、 4) (注1、注2) b7 シンボル S3TRR S4TRR b0 アドレス 036016番地 036416番地 リセット後の値 不定 不定 機 能 送信データを書くと送受信が始まり、送受信完了後、読むと受信データが読める 注1. 送受信停止中に書いてください。 注2. 受信する場合は、SINiに対応するポート方向ビットを“0”(入力モード)にしてください。 図2.11.35. S3C、S4C、S3BRG、S4BRG、S3TRR、S4TRRレジスタ Rev.1.00 2004.03.01 page 148 of 311 RW RW M306H3MC-XXXFP/FCFP 表2.11.19. SI/O3、SI/O4の仕様 項 目 仕 様 転送データフォーマット ●転送データ長 8ビット 転送クロック ●SiCレジスタ(i=3、4)のSMi6ビットが“1”(内部クロック):fj/2(n+1) fj=f1SIO、f8SIO、f32SIO。n=SiBRGレジスタの設定値 0016∼FF16 ●SMi6ビットが“0”(外部クロック):CLKi端子から入力 (注1) 送受信開始条件 ●送受信開始には、次の条件が必要です SiTRRレジスタに送信データを書く(注2、注3) 割り込み要求発生タイミング ●SiCレジスタのSMi4ビットが“0”の場合 最後の転送クロックの立ち上がり(注4) ●SMi4ビットが“1”の場合 最後の転送クロックの立ち下がり(注4) CLKi端子機能 入出力ポート、転送クロック入力、転送クロック出力 SOUTi端子機能 入出力ポート、送信データ出力、ハイインピーダンス SINi端子機能 入出力ポート、受信データ入力 選択機能 ●LSBファースト、MSBファースト選択 ビット0から送受信するか、またはビット7から送受信するかを選択可 ●SOUTi初期値設定機能 SiCレジスタのSMi6ビットが“0”(外部クロック)の場合、送信していないと きのSOUTi端子出力レベルを選択可 ●CLK極性選択 転送データの出力と入力タイミングが、転送クロックの立ち上がりか立ち下がりか を選択可 注1. SiCレジスタのSMi6ビットを“0”(外部クロック)にする場合は、次のようにしてください。 ・SiCレジスタのSMi4ビットが“0”の場合、CLKi端子に“H”が入力されている状態でSiTRRレジスタ に送信データを書いてください。SiCレジスタのSMi7ビットを書き換える場合も同様です。 ・SMi4ビットが“1”の場合、CLKi端子に“L”が入力されている状態でSiTRRレジスタに送信データを 書いてください。SMi7ビットを書き換える場合も同様です。 ・転送クロックがS I/Oi回路に入力されている間はシフト動作をし続けますので、転送クロックは8回で 止めてください。SMi6ビットが“1”(内部クロック)の場合、転送クロックは自動的に停止します。 注2. SI/Oi(i=3∼4)は、UART0∼UART2と違い、転送のためのレジスタとバッファに分かれていません。し たがって、送信中に次の送信データをSiTRRレジスタに書かないでください。 注3. SiCレジスタのSMi6ビットが“1”(内部クロック)のとき、転送終了後SOUTiは、1/2転送クロック間、 最終データを保持し、ハイインピーダンス状態になります。しかし、この間に送信データをSiTRRレ ジスタに書いた場合、書いたときからハイインピーダンス状態になり、データのホールド時間が短く なります。 注4. SiCレジスタのSMi6ビットが“1”(内部クロック)のとき、転送クロックは、SMi4ビットが“0”の場 合は“H”の状態で停止し、SMi4ビットが“1”の場合は“L”で停止します。 Rev.1.00 2004.03.01 page 149 of 311 M306H3MC-XXXFP/FCFP ■SI/Oi動作タイミング 図2.11.36にSI/Oi動作タイミング図を示します。 最大1.5サイクル(注3) SI/Oiの内部クロック “H” “L” CLKi出力 “H” “L” SiTRRレジスタ への書き込み信号 (注2) SOUTi出力 “H” “L” SINi入力 “H” “L” SiICレジスタの IRビット “1” “0” D0 D1 D2 D3 D4 D5 D6 D7 i= 3、4 注1. この図は、SiCレジスタを次のように設定した場合です。 SMi2=0(SOUTi出力)、SMi3=1(SOUTi出力、CLKi機能)、SMi4=0(転送クロックの立ち下がりで送信データ出力、立ち上がりで受信データ入力)、 SMi5=0(LSBファースト)、SMi6=1(内部クロック) 注2. SMi6ビットが“1”(内部クロック)の場合、SOUTi端子は転送終了後ハイインピーダンス状態になります。 注3. SMi6ビットが“1”(内部クロック)の場合、SiTRRレジスタへ書き込むと、最大で転送クロックの1.5サイクル後、送受信を開始します。 図2.11.36. SI/Oi動作タイミング図 ■CLK極性選択 SiCレジスタのSMi4ビットで転送クロックの極性を選択できます。図2.11.37に転送クロックの極性 を示します。 (1) SiCレジスタのSMi4ビットが“0”の場合 注2 CLKi SINi D0 D1 D2 D3 D4 D5 D6 D7 SOUTi D0 D1 D2 D3 D4 D5 D6 D7 (2) SiCレジスタのSMi4ビットが“1”の場合 注3 CLKi SINi D0 D1 D2 D3 D4 D5 D6 D7 SOUTi D0 D1 D2 D3 D4 D5 D6 D7 i=3、4 注1. この図はSiCレジスタを次のように設定した場合です。 SMi5=0(LSBファースト)、SMi6=1(内部クロック) 注2. SMi6ビットが“1”(内部クロック)の場合、転送していないとき、CLKi端子から“H”を出力します。 注3. SMi6ビットが“1”(内部クロック)の場合、転送していないとき、CLKi端子から“L”を出力します。 図2.11.37. 転送クロックの極性 Rev.1.00 2004.03.01 page 150 of 311 M306H3MC-XXXFP/FCFP ■SOUTi初期値設定機能 SiCレジスタのSMi6ビットが“0”(外部クロック)の場合、転送していないときのSOUTi端子の出力 を“H”または“L”のどちらかに設定できます。図2.11.38にSOUTi初期値設定時のタイミング図、設 定方法を示します。 (例) SOUTi 初期値に“H”選択時(注1) SOUTi出力の初期値設定と 送受信開始 SiTRRレジスタ への書き込み信号 SMi3 ビットを “0”(SOUTi端子は 入出力ポート)にする SMi7ビット SMi7 ビットを“1”(SOUTiの初期値 は“H”)にする SMi3ビット D0 SOUTi (内部) SOUTi 端子出力 (i = 3、 4) SMi3ビットを“1”(SOUTi端子は SOUTi出力)にする D0 ポート出力 初期値=H (注3) SOUTi初期値“H”設定 (注2) 図2.11.38. SOUTi初期値設定時のタイミング図、設定方法 2004.03.01 SiTRRレジスタへ書き込む ポート選択切り替え (入出力ポート→SOUTi) 注1. この図はSiCレジスタを次のように設定した場合です。 SMi2=0(SOUTi出力)、SMi5=0(LSBファースト)、SMi6=0(外部クロック) 注2. SOUTiの初期設定は、SiCレジスタのSMi4ビットが“0”(転送クロックの立ち下がりで送信データ 出力)の場合、CLKi端子に“H”が入力されている状態で、SiCレジスタのSMi4ビットが“1” (転送クロックの立ち上がりで送信データ出力)の場合、CLKi端子に“L”が入力されている状態 で、行ってください。 注3. SMi6ビットが“1”(内部クロック)の場合、またはSMi2ビットが“1”(SOUT出力禁止)の場合は ハイインピーダンス状態になります。 Rev.1.00 SOUTi端子から“H”を出力 page 151 of 311 シリアル送受信開始 M306H3MC-XXXFP/FCFP 2.12 A-D変換器 容量結合増幅器で構成された8ビットの逐次比較変換方式のA-D変換器が1回路あります。アナログ入 ____________ 力は、P100∼P107、P95、P96と端子を共用しています。また、ADTRG入力はP97と端子を共用しています。 したがって、これらの入力を使用する場合、対応するポート方向ビットは“0”(入力モード)にしてくだ さい。 A-D変換器を使用しない場合、VCUTビットを“0”(Vref未接続)にすると、VREF端子からラダー抵抗 には電流が流れなくなり、消費電力を少なくできます。 A-D変換した結果は、ANi(i=0∼7)に対応したADiレジスタに格納されます。 表2.12.1にA-D変換器の仕様、図2.12.1にA-D変換器のブロック図、図2.12.2∼図2.12.3にA-D変換器関連 レジスタを示します。 表2.12.1. A-D変換器の仕様 項 目 仕 様 A-D変換方式 逐次比較変換方式(容量結合増幅器) アナログ入力電圧(注1) 0V∼AVCC(VCC) 動作クロックφAD(注2) fAD、fADの2分周、fADの3分周、fADの4分周、fADの6分周、またはfADの12分周 分解能 8ビット 積分非直線性誤差 AVCC=VREF=5Vのとき ●分解能8ビットの場合 ±3LSB ANEX0、ANEX1入力の場合(外部オペアンプ接続モード含む) ±4LSB 動作モード 単発モード、繰り返しモード、単掃引モード、繰り返し掃引モード0、 繰り返し掃引モード1 アナログ入力端子(注3) 8本(AN0∼AN7) + 2本(ANEX0、ANEX1) A-D変換開始条件 ●ソフトウエアトリガ ADCON0レジスタのADSTビットを“1”(A-D変換開始)にする ●外部トリガ(再トリガ可能) ADSTビットを“1”(A-D変換開始)にした後、ADTRG端子の入力が“H” から“L”へ変化 1端子あたりの変換速度 ●サンプル&ホールドなし 49φADサイクル ●サンプル&ホールドあり 28φADサイクル 注1. サンプル&ホールド機能の有無に依存しません。 注2. φADの周波数を10MHz以下にしてください。 サンプル&ホールド機能なしの場合、φADの周波数は250kHz以上にしてください。 サンプル&ホールド機能ありの場合、φADの周波数は1MHz以上にしてください。 Rev.1.00 2004.03.01 page 152 of 311 M306H3MC-XXXFP/FCFP A-D変換速度選択 CKS1=1 CKS2=0 1/2 fAD 1/2 1/3 CKS0=1 CKS0=0 φAD CKS1=0 CKS2=1 TRG=0 ソフトウエアトリガ トリガ ADTRG TRG=1 VREF AVSS ラダー抵抗 VCUT=0 VCUT=1 逐次変換レジスタ ADCON1レジスタ ADCON0レジスタ AD0レジスタ (8ビット) AD1レジスタ (8ビット) AD2レジスタ (8ビット) AD3レジスタ (8ビット) AD4レジスタ (8ビット) レジスタ用 デコーダ AD5レジスタ (8ビット) AD6レジスタ (8ビット) AD7レジスタ (8ビット) ADCON2レジスタ データバス(下位) Vref チャネルセレクト用 デコーダ 比 較 器 VIN ポートP10グループ AN0 AN1 AN2 AN3 AN4 AN5 AN6 AN7 CH2∼CH0 =0002 =0012 =0102 =0112 =1002 =1012 =1102 =1112 OPA1∼OPA0=00 2 OPA1∼OPA0=11 2 ANEX0 ANEX1 OPA0=1 OPA1∼OPA0 =012 OPA1=1 OPA1=1 図2.12.1. A-D変換器のブロック図 Rev.1.00 2004.03.01 page 153 of 311 M306H3MC-XXXFP/FCFP A-D制御レジスタ0(注1) b7 b6 b5 b4 b3 b2 b1 b0 シンボル ADCON0 ビットシンボル CH0 アドレス リセット後の値 03D616番地 00000XXX2 ビット名 ビット 名 アナログ入力端子選択ビット 機 能 R W RW 動作モードによって機能が異なる CH1 RW CH2 MD0 RW RW A-D動作モード選択ビット0 MD1 b4 b3 0 0 : 単発モード 0 1 : 繰り返しモード 1 0 : 単掃引モード 1 1 : 繰り返し掃引モード0 または繰り返し掃引モード1 RW RW TRG トリガ選択ビット 0 : ソフトウエアトリガ 1 : ADTRGによるトリガ RW ADST A-D変換開始フラグ 0 : A-D変換停止 1 : A-D変換開始 RW CKS0 周波数選択ビット0 ADCON2レジスタの注3を参照して ください RW 注1. A-D変換中にADCON0レジスタを書き換えた場合、変換結果は不定になります。 A-D制御レジスタ1(注1) b7 b6 b5 b4 b3 b2 b1 b0 シンボル ADCON1 0 ビットシンボル アドレス リセット後の値 03D716番地 0016 ビット名 A-D掃引端子選択ビット 機 能 SCAN0 RW SCAN1 RW A-D動作モード選択ビット1 0 : 繰り返し掃引モード1以外 1 : 繰り返し掃引モード1 RW 予約ビット “0”にしてください RW CKS1 周波数選択ビット1 ADCON2レジスタの注3を参照して ください RW VCUT Vref接続ビット(注2) 0 : Vref未接続 1 : Vref接続 RW OPA0 外部オペアンプ接続 モードビット MD2 (b3) 動作モードによって機能が異なる OPA1 注1. A-D変換中にADCON1レジスタを書き換えた場合、変換結果は不定となります。 注2. VCUTビットを“0”(未接続)から“1”(接続)にしたときは、1μs以上経過した後にA-D変換を開始してください。 図2.12.2. ADCON0∼ADCON1レジスタ Rev.1.00 2004.03.01 RW 動作モードによって機能が異なる page 154 of 311 RW RW M306H3MC-XXXFP/FCFP A-D制御レジスタ2(注1) b7 b6 b5 b4 b3 b2 b1 0 0 シンボル ADCON2 b0 0 アドレス リセット後の値 03D416番地 0016 ビット名 ビット ビットシンボル ビットシンボル SMP (b3-b1) CKS2 機 能 機 能 名 A-D変換方式選択ビット 0 : サンプル&ホールドなし 1 : サンプル&ホールドあり 予約ビット “0”にしてください 周波数選択ビット2(注2) 0 : fAD、fADの2分周、または fADの4分周を選択 1 : fADの3分周、fADの6分周、または fADの12分周を選択 RW RW RW RW RW 何も配置されていない。 書く場合、“0”を書いてください。読んだ場合、その値は“0”。 (b7-b5) 注1. A-D変換中にADCON2レジスタを書き換えた場合、変換結果は不定になります。 注2. φADの周波数は10MHZ以下にしてください。φADはADCON0レジスタのCKS0ビット、ADCON1レジスタのCKS1ビット、 ADCON2レジスタのCKS2ビットの組み合わせで選択できます。 CKS2 CKS1 CKS0 0 0 0 0 0 1 fADの4分周 fADの2分周 φAD 0 0 1 1 1 0 0 1 0 fAD 1 1 1 0 1 1 1 0 1 fADの12分周 fADの6分周 fADの3分周 A-Dレジスタi(i=0∼7) b7 b0 シンボル AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 機 能 A-D変換結果 図2.12.3. ADCON2、AD0∼AD7レジスタ Rev.1.00 2004.03.01 page 155 of 311 アドレス 03C0 16番地 03C2 16番地 03C4 16番地 03C6 16番地 03C8 16番地 03CA 16番地 03CC 16番地 03CE 16番地 機 能 リセット後の値 不定 不定 不定 不定 不定 不定 不定 不定 RW RO M306H3MC-XXXFP/FCFP (1) 単発モード 選択した1本の端子の入力電圧を1回A-D変換するモードです。表2.12.2に単発モードの仕様、図2.12.4 に単発モード時のADCON0∼ADCON1レジスタを示します。 表2.12.2. 単発モードの仕様 項 目 仕 様 機能 ADCON0レジスタのCH2∼CH0ビットとADCON1レジスタのOPA1∼OPA0ビッ トで選択した1本の端子の入力電圧を1回A-D変換する A-D変換開始条件 ●ADCON0レジスタのTRGビットが“0”(ソフトウエアトリガ)の場合 ADCON0レジスタのADSTビットを“1”(A-D変換開始)にする ____________ ●TRGビットが“1”(ADTRGによるトリガ)の場合 ____________ ADSTビットを“1”(A-D変換開始)にした後、ADTRG端子の入力が“H”から “L”へ変化 A-D変換停止条件 ●A-D変換終了(ソフトウエアトリガを選択している場合、ADSTビットは“0” (A-D変換停止)になる) ●ADSTビットを“0”にする 割り込み要求発生タイミング A-D変換終了時 アナログ入力端子 AN0∼AN7、ANEX0∼ANEX1から1端子を選択 A-D変換値の読み出し 選択した端子に対応したAD0∼AD7レジスタの読み出し Rev.1.00 2004.03.01 page 156 of 311 M306H3MC-XXXFP/FCFP A-D制御レジスタ0(注1) b7 b6 b5 b4 b3 b2 b1 b0 シンボル ADCON0 アドレス リセット後の値 03D616番地 00000XXX2 0 0 ビットシンボル CH0 ビット名 ビット 名 アナログ入力端子 選択ビット CH1 CH2 MD0 機 能 機 能 RW R W b2 b1 b0 0 0 0 : AN0を選択 0 0 1 : AN1を選択 0 1 0 : AN2を選択 0 1 1 : AN3を選択 1 0 0 : AN4を選択 1 0 1 : AN5を選択 1 1 0 : AN6を選択 1 1 1 : AN7を選択 RW RW (注2) RW RW RW A-D動作モード選択ビット0 b4 b3 トリガ選択ビット 0 : ソフトウエアトリガ 1 : ADTRGによるトリガ RW ADST A-D変換開始フラグ 0 : A-D変換停止 1 : A-D変換開始 RW CKS0 周波数選択ビット0 ADCON2レジスタの注2を参照して ください RW MD1 TRG 0 0 : 単発モード (注2) 注1. A-D変換中にADCON0レジスタを書き換えた場合、変換結果は不定になります。 注2. MD1∼MD0ビットを書き換えた後、別の命令でCH2∼CH0ビットを再設定してください。 A-D制御レジスタ1(注1) b7 b6 b5 1 b4 b3 b2 0 0 b1 b0 シンボル ADCON1 ビットシンボル SCAN0 アドレス リセット後の値 03D716番地 0016 ビット名 A-D掃引端子選択ビット 機 能 単発モードでは無効 RW RW SCAN1 MD2 RW A-D動作モード選択ビット1 単発モードでは“0”にしてください RW 予約ビット “0”にしてください RW CKS1 周波数選択ビット1 ADCON2レジスタの注2を参照して ください RW VCUT Vref接続ビット(注2) 1 : Vref接続 RW 外部オペアンプ接続 モードビット b7 b6 OPA0 (b3) OPA1 0 0 : ANEX0、ANEX1は使用しない 0 1 : ANEX0入力をA-D変換 1 0 : ANEX1入力をA-D変換 1 1 : 外部オペアンプ接続モード RW RW 注1. A-D変換中にADCON1レジスタを書き換えた場合、変換結果は不定になります。 注2. VCUTビットを“0”(未接続)から“1”(接続)にしたときは、1μs以上経過した後にA-D変換を開始してください。 図2.12.4. 単発モード時のADCON0∼ADCON1レジスタ Rev.1.00 2004.03.01 page 157 of 311 M306H3MC-XXXFP/FCFP (2) 繰り返しモード 選択した1本の端子の入力電圧を繰り返しA-D変換するモードです。表2.12.3に繰り返しモードの仕様、 図2.12.5に繰り返しモード時のADCON0∼ADCON1レジスタを示します。 表2.12.3. 繰り返しモードの仕様 項 目 仕 様 機能 ADCON0レジスタのCH2∼CH0ビットとADCON1レジスタのOPA1∼OPA0ビッ トで選択した1本の端子の入力電圧を繰り返しA-D変換する A-D変換開始条件 ●ADCON0レジスタのTRGビットが“0”(ソフトウエアトリガ)の場合 ADCON0レジスタのADSTビットを“1”(A-D変換開始)にする ●TRGビットが“1”(ADTRGによるトリガ)の場合 ADSTビットを“1”(A-D変換開始)にした後、ADTRG端子の入力が“H”から “L”へ変化 A-D変換停止条件 ADSTビットを“0”(A-D変換停止)にする 割り込み要求発生タイミング 割り込み要求は発生しない アナログ入力端子 AN0∼AN7、ANEX0∼ANEX1から1端子を選択 A-D変換値の読み出し 選択した端子に対応したAD0∼AD7レジスタの読み出し Rev.1.00 2004.03.01 page 158 of 311 M306H3MC-XXXFP/FCFP A-D制御レジスタ0(注1) b7 b6 b5 b4 b3 b2 b1 シンボル ADCON0 b0 0 1 ビットシンボル CH0 アドレス リセット後の値 03D616番地 00000XXX2 ビット名 ビット名 アナログ入力端子選択ビット CH1 CH2 MD0 機 能 機 能 A-D動作モード選択ビット0 RW R W b2 b1 b0 0 0 0 : AN0を選択 0 0 1 : AN1を選択 0 1 0 : AN2を選択 0 1 1 : AN3を選択 1 0 0 : AN4を選択 1 0 1 : AN5を選択 1 1 0 : AN6を選択 1 1 1 : AN7を選択 RW RW (注2) b4 b3 0 1 : 繰り返しモード (注2) MD1 トリガ選択ビット 0 : ソフトウエアトリガ 1 : ADTRGによるトリガ ADST A-D変換開始フラグ CKS0 周波数選択ビット0 0 : A-D変換停止 1 : A-D変換開始 ADCON2レジスタの注2を参照して ください TRG RW RW RW RW RW RW 注1. A-D変換中にADCON0レジスタを書き換えた場合、変換結果は不定になります。 注2. MD1∼MD0ビットを書き換えた後、別の命令でCH2∼CH0ビットを再設定してください。 A-D制御レジスタ1(注1) b7 b6 b5 b4 1 b3 b2 0 0 b1 b0 シンボル ADCON1 ビットシンボル SCAN0 アドレス リセット後の値 03D716番地 0016 ビット名 A-D掃引端子選択ビット 機 能 繰り返しモードでは無効 SCAN1 MD2 RW RW RW A-D動作モード選択ビット1 繰り返しモードでは“0”にしてください RW 予約ビット “0”にしてください RW CKS1 周波数選択ビット1 ADCON2レジスタの注2を参照して ください RW VCUT Vref接続ビット(注2) 1 : Vref接続 RW 外部オペアンプ接続 モードビット b7 b6 OPA0 (b3) OPA1 0 0 : ANEX0、ANEX1は使用しない 0 1 : ANEX0入力をA-D変換 1 0 : ANEX1入力をA-D変換 1 1 : 外部オペアンプ接続モード RW RW 注1. A-D変換中にADCON1レジスタを書き換えた場合、変換結果は不定になります。 注2. VCUTビットを“0”(未接続)から“1”(接続)にしたときは、1μs以上経過した後にA-D変換を開始してください。 図2.12.5. 繰り返しモード時のADCON0∼ADCON1レジスタ Rev.1.00 2004.03.01 page 159 of 311 M306H3MC-XXXFP/FCFP (3) 単掃引モード 選択した端子の入力電圧を1回ずつA-D変換するモードです。表2.12.4に単掃引モードの仕様、図2.12.6 に単掃引モード時のADCON0∼ADCON1レジスタを示します。 表2.12.4. 単掃引モードの仕様 項 目 仕 様 機能 ADCON1レジスタのSCAN1∼SCAN0ビットで選択した端子の入力電圧を1回ず つA-D変換する A-D変換開始条件 ●ADCON0レジスタのTRGビットが“0”(ソフトウエアトリガ)の場合 ADCON0レジスタのADSTビットを“1”(A-D変換開始)にする ●TRGビットが“1”(ADTRGによるトリガ)の場合 ADSTビットを“1”(A-D変換開始)にした後、ADTRG端子の入力が“H”から “L”へ変化 A-D変換停止条件 ●A-D変換終了(ソフトウエアトリガを選択している場合、ADSTビットは“0” (A-D変換停止)になる) ●ADSTビットを“0”にする 割り込み要求発生タイミング A-D変換終了時 アナログ入力端子 AN0∼AN1(2端子)、AN0∼AN3(4端子)、AN0∼AN5(6端子)、AN0∼AN7(8端子)か ら選択 A-D変換値の読み出し 選択した端子に対応したAD0∼AD7レジスタの読み出し Rev.1.00 2004.03.01 page 160 of 311 M306H3MC-XXXFP/FCFP A-D制御レジスタ0(注1) b7 b6 b5 b4 b3 b2 b1 シンボル ADCON0 b0 アドレス リセット後の値 03D616番地 00000XXX2 1 0 ビットシンボル ビットシンボル CH0 ビット名 ビット アナログ入力端子選択ビット 名 機 能 機 能 RRW W 単掃引モードでは無効 RW CH1 RW CH2 RW MD0 b4 b3 RW A-D動作モード選択ビット0 1 0 : 単掃引モード トリガ選択ビット 0 : ソフトウエアトリガ 1 : ADTRGによるトリガ RW ADST A-D変換開始フラグ 0 : A-D変換停止 1 : A-D変換開始 RW CKS0 周波数選択ビット0 ADCON2レジスタの注2を参照して ください RW RW MD1 TRG 注1. A-D変換中にADCON0レジスタを書き換えた場合、変換結果は不定になります。 A-D制御レジスタ1(注1) b7 b6 b5 1 b4 b3 b2 b1 b0 0 0 シンボル ADCON1 ビットシンボル SCAN0 アドレス リセット後の値 03D716番地 0016 ビット名 A-D掃引端子選択ビット b1 b0 0 0 : AN0∼AN1(2端子) 0 1 : AN0∼AN3(4端子) 1 0 : AN0∼AN5(6端子) 1 1 : AN0∼AN7(8端子) SCAN1 MD2 機 能 単掃引モードを選択している場合 A-D動作モード選択ビット1 単掃引モードでは“0”にしてください RW RW RW RW 予約ビット “0”にしてください RW CKS1 周波数選択ビット1 ADCON2レジスタの注2を参照して ください RW VCUT Vref接続ビット(注2) 1 : Vref接続 RW (b3) OPA0 外部オペアンプ接続 モードビット OPA1 b7 b6 0 0 : ANEX0、ANEX1は使用しない 0 1 : 設定しないでください 1 0 : 設定しないでください 1 1 : 外部オペアンプ接続モード RW RW 注1. A-D変換中にADCON1レジスタを書き換えた場合、変換結果は不定になります。 注2. VCUTビットを“0”(未接続)から“1”(接続)にしたときは、1μs以上経過した後にA-D変換を開始してください。 図1.12.6. 単掃引モード時のADCON0∼ADCON1レジスタ Rev.1.00 2004.03.01 page 161 of 311 M306H3MC-XXXFP/FCFP (4) 繰り返し掃引モード0 選択した端子の入力電圧を繰り返しA-D変換するモードです。表2.12.5に繰り返し掃引モード0の仕様、 図2.12.7に繰り返し掃引モード0時のADCON0∼ADCON1レジスタを示します。 表2.12.5. 繰り返し掃引モード0の仕様 項 目 機能 A-D変換開始条件 A-D変換停止条件 割り込み要求発生タイミング アナログ入力端子 A-D変換値の読み出し Rev.1.00 2004.03.01 仕 様 ADCON1レジスタのSCAN1∼SCAN0ビットで選択した端子の入力電圧を繰り返 しA-D変換する ●ADCON0レジスタのTRGビットが“0”(ソフトウエアトリガ)の場合 ADCON0レジスタのADSTビットを“1”(A-D変換開始)にする ●TRGビットが“1”(ADTRGによるトリガ)の場合 ADSTビットを“1”(A-D変換開始)にした後、ADTRG端子の入力が“H”から “L”へ変化 ADSTビットを“0”(A-D変換停止)にする 割り込み要求は発生しない AN0∼AN1(2端子)、AN0∼AN3(4端子)、AN0∼AN5(6端子)、AN0∼AN7(8端子)か ら選択 選択した端子に対応したAD0∼AD7レジスタの読み出し page 162 of 311 M306H3MC-XXXFP/FCFP A-D制御レジスタ0(注1) b7 b6 b5 b4 b3 b2 b1 b0 1 1 シンボル ADCON0 ビットシンボル ビットシンボル CH0 アドレス リセット後の値 03D616番地 00000XXX2 ビット名 ビット アナログ入力端子選択 名 機 能 機 能 RW R W 繰り返し掃引モード0では無効 RW ビット CH1 RW CH2 RW MD0 A-D動作モード選択ビット0 MD1 TRG トリガ選択ビット ADST A-D変換開始フラグ CKS0 周波数選択ビット0 b4 b3 RW 1 1 : 繰り返し掃引モード0または 繰り返し掃引モード1 RW 0 : ソフトウエアトリガ 1 : ADTRGによるトリガ RW 0 : A-D変換停止 1 : A-D変換開始 ADCON2レジスタの注2を参照して ください RW RW 注1. A-D変換中にADCON0レジスタを書き換えた場合、変換結果は不定になります。 A-D制御レジスタ1(注1) b7 b6 b5 b4 1 b3 b2 b1 b0 0 0 シンボル ADCON1 ビットシンボル SCAN0 アドレス リセット後の値 03D716番地 0016 ビット名 A-D掃引端子選択ビット b1 b0 0 0 : AN0∼AN1(2端子) 0 1 : AN0∼AN3(4端子) 1 0 : AN0∼AN5(6端子) 1 1 : AN0∼AN7(8端子) SCAN1 MD2 機 能 RW 繰り返し掃引モード0を選択している場合 RW RW A-D動作モード選択ビット1 繰り返し掃引モード0では“0”にして ください RW 予約ビット “0”にしてください RW CKS1 周波数選択ビット1 ADCON2レジスタの注2を参照して ください RW VCUT Vref接続ビット(注2) 1 : Vref接続 RW 外部オペアンプ接続 モードビット b7 b6 (b3) OPA0 OPA1 0 0 : ANEX0、ANEX1は使用しない 0 1 : 設定しないでください 1 0 : 設定しないでください 1 1 : 外部オペアンプ接続モード RW RW 注1. A-D変換中にADCON1レジスタを書き換えた場合、変換結果は不定になります。 注2. VCUTビットを“0”(未接続)から“1”(接続)にしたときは、1μs以上経過した後にA-D変換を開始してください。 図2.12.7. 繰り返し掃引モード0時のADCON0∼ADCON1レジスタ Rev.1.00 2004.03.01 page 163 of 311 M306H3MC-XXXFP/FCFP (5) 繰り返し掃引モード1 選択した端子に重点をおいて全端子の入力電圧を繰り返しA-D変換するモードです。表2.12.6に繰り返 し掃引モード1の仕様、図2.12.8に繰り返し掃引モード1時のADCON0∼ADCON1レジスタを示します。 表2.12.6. 繰り返し掃引モード1の仕様 項 目 機能 A-D変換開始条件 A-D変換停止条件 割り込み要求発生タイミング 重点的にA-D変換する アナログ入力端子 A-D変換値の読み出し Rev.1.00 2004.03.01 仕 様 ADCON1レジスタのSCAN1∼SCAN0ビットで選択した端子に重点をおいて、選 択した全端子の入力電圧を繰り返しA-D変換する 例 : AN0を選択した場合 AN0→AN1→AN0→AN2→AN0→AN3 ・・・ の順にA-D変換する ●ADCON0レジスタのTRGビットが“0”(ソフトウエアトリガ)の場合 ADCON0レジスタのADSTビットを“1”(A-D変換開始)にする ●TRGビットが“1”(ADTRGによるトリガ)の場合 ADSTビットを“1”(A-D変換開始)にした後、ADTRG端子の入力が“H”から “L”へ変化 ADSTビットを“0”(A-D変換停止)にする 割り込み要求は発生しない AN0(1端子)、AN0∼AN1(2端子)、AN0∼AN2(3端子)、AN0∼AN3(4端子) から選択 選択した端子に対応したAD0∼AD7レジスタの読み出し page 164 of 311 M306H3MC-XXXFP/FCFP A-D制御レジスタ0(注1) b7 b6 b5 b4 b3 b2 b1 b0 1 1 シンボル ADCON0 ビットシンボル ビットシンボル CH0 アドレス リセット後の値 03D616番地 00000XXX2 ビット名 ビット アナログ入力端子選択 名 機 能 機 能 繰り返し掃引モード1では無効 ビット CH1 RW RW CH2 MD0 RRW W RW A-D動作モード選択ビット0 MD1 b4 b3 1 1 : 繰り返し掃引モード0または 繰り返し掃引モード1 RW RW トリガ選択ビット 0 : ソフトウエアトリガ 1 : ADTRGによるトリガ RW ADST A-D変換開始フラグ 0 : A-D変換停止 1 : A-D変換開始 RW CKS0 周波数選択ビット0 ADCON2レジスタの注2を参照して ください RW TRG 注1. A-D変換中にADCON0レジスタを書き換えた場合、変換結果は不定になります。 A-D制御レジスタ1(注1) b7 b6 b5 1 b4 b3 b2 b1 b0 0 1 シンボル ADCON1 ビットシンボル SCAN0 アドレス リセット後の値 03D716番地 0016 ビット名 A-D掃引端子選択ビット (b3) CKS1 VCUT OPA0 OPA1 b1 b0 0 0 : AN0(1端子) 0 1 : AN0∼AN1(2端子) 1 0 : AN0∼AN2(3端子) 1 1 : AN0∼AN3(4端子) SCAN1 MD2 機 能 RW 繰り返し掃引モード1を選択している場合 A-D動作モード選択ビット1 繰り返し掃引モード1では“1”に してください RW RW RW 予約ビット “0”にしてください RW 周波数選択ビット1 ADCON2レジスタの注2を参照して ください RW Vref接続ビット(注2) 1 : Vref接続 RW 外部オペアンプ接続 モードビット b7 b6 0 0 : ANEX0、ANEX1は使用しない 0 1 : 設定しないでください 1 0 : 設定しないでください 1 1 : 外部オペアンプ接続モード RW RW 注1. A-D変換中にADCON1レジスタを書き換えた場合、変換結果は不定になります。 注2. VCUTビットを“0”(未接続)から“1”(接続)にしたときは、1μs以上経過した後にA-D変換を開始してください。 図2.12.8. 繰り返し掃引モード1時のADCON0∼ADCON1レジスタ Rev.1.00 2004.03.01 page 165 of 311 M306H3MC-XXXFP/FCFP ■サンプル&ホールド ADCON2レジスタのSMPビットを“1”(サンプル&ホールドあり)にすると、1端子あたりの変換速度が 向上し、28φADサイクルになります。サンプル&ホールドは、すべての動作モードに対して有効です。 サンプル&ホールドの有無を選択してからA-D変換を開始してください。 ■拡張アナログ入力端子 単発モード、繰り返しモードでは、ANEX0、ANEX1端子をアナログ入力端子として使用できます。 ADCON1レジスタのOPA1∼OPA0ビットで選択してください。 ANEX0入力のA-D変換結果は、AD0レジスタに格納され、ANEX1入力のA-D変換結果は、AD1レジス タに格納されます。 ■外部オペアンプ接続モード ANEX0、ANEX1端子を用いて複数のアナログ入力を1個の外部オペアンプで増幅できます。 ADCON1レジスタのOPA1∼OPA0ビットを“112”(外部オペアンプ接続モード)にしてください。ANi (i=0∼7)からの入力をANEX0端子から出力します。この出力を外部オペアンプで増幅し、ANEX1端子へ 入力してください。A-D変換結果は対応するADiレジスタに格納されます。A-D変換速度は外部オペアン プの応答特性に依存します。なお、ANEX0端子とANEX1端子とを直結しないでください。図2.12.9に外 部オペアンプ接続例を示します。 マイクロコンピュータ AN0 AN1 AN2 AN3 AN4 AN5 AN6 AN7 ラダー抵抗 逐次変換レジスタ ANEX0 ANEX1 外部オペアンプ 図2.12.9. 外部オペアンプ接続例 Rev.1.00 2004.03.01 page 166 of 311 比 較 器 M306H3MC-XXXFP/FCFP ■ 消費電流低減機能 A-D変換器を使用しないとき、ADCON1レジスタのVCUTビットによりA-D変換器のラダー抵抗と基準 電圧入力端子(VREF)を切り離すことができます。切り離すと、VREF端子からラダー抵抗へ電流が流れな いので、消費電力が少なくなります。 A-D変換器を使用する場合は、VCUTビットを“1”(VREF接続)にした後で、ADCON0レジスタのADST ビットを“1”(A-D変換開始)にしてください。ADSTビットとVCUTビットは、同時に“1”を書かない でください。 また、A-D変換中にVCUTビットを“0”(VREF未接続)にしないでください。 ■ アナログ入力端子と外部センサーの等価回路例 図2.12.10にアナログ入力端子と外部センサーの等価回路例を示します。 マイクロコンピュータ センサー等価回路 R0 R (7.8kΩ) VIN サンプリング時間 C (1.5pF) VC 図2.12.10. アナログ入力端子と外部センサーの等価回路例 Rev.1.00 2004.03.01 page 167 of 311 サンプル&ホールド機能有効: 3 fAD サンプル&ホールド機能無効: 2 fAD M306H3MC-XXXFP/FCFP ■A-D変換器使用時の注意事項 (1) アナログ入力端子として使用する端子に対応するポート方向ビットは“0”(入力モード)にしてく ださい。また、ADCON0レジスタのTRGビットが“1”(外部トリガ)の場合は、ADTRG端子に対応す るポート方向ビットは“0”(入力モード)にしてください。 (2) キー入力割り込みを使用する場合、AN4∼AN7は4本ともアナログ入力端子として使用しないでく ださい(A-D入力電圧が“L”になると、キー入力割り込み要求が発生します)。 (3) ノイズによる誤動作やラッチアップの防止、また変換誤差を低減するため、AVCC端子、VREF端 子、アナログ入力端子(ANi(i=0∼7))とAVSS端子の間には、それぞれコンデンサを挿入してください。 同様にVCC端子とVSS端子の間にもコンデンサを挿入してください。図2.12.11に各端子の処理例を示 します。 (4) A-D変換が完了し、その結果をADiレジスタ(i=0∼7)に格納するタイミングでCPUがADiレジスタ を読んだ場合、誤った値がADiレジスタに格納されます。この現象は、CPUクロックにメインクロッ クを分周したクロック、またはサブクロックを選択した場合に発生します。 ●単発モードまたは単掃引モードで使用する場合 A-D変換が完了したことを確認してから、対象となるADiレジスタを読んでください(A-D変換の完了 はADICレジスタのIRビットで判定できます)。 ●繰り返しモード、繰り返し掃引モード0または繰り返し掃引モード1で使用する場合 CPUクロックは、メインクロックを分周せずに使用してください。 (5) A-D変換動作中に、プログラムでADCON0レジスタのADSTビットを“0”(A-D変換停止)にして強 制終了した場合、A-D変換器の変換結果は不定となります。また、A-D変換を行っていないADiレジ スタも不定になる場合があります。A-D変換動作中に、プログラムでADSTビットを“0”にした場 合は、すべてのADiレジスタの値を使用しないでください。 マイクロコンピュータ VCC(15pin) AVCC C4 VSS VREF C1 C2 AVSS VCC(69pin) C5 C3 ANi VSS 注1. C1≧0.47μF、C2≧0.47μF、C3≧100pF、C4≧0.1μF、C5≧0.1μF(参考値)。 注2. コンデンサは太い配線を利用して、最短距離で接続してください。 図2.12.11. 各端子のノイズ対策処理例 Rev.1.00 2004.03.01 page 168 of 311 M306H3MC-XXXFP/FCFP 2.13 CRC演算 CRC(Cyclic Redundancy Check)演算は、データブロックの誤りを検出します。CRCコードの生成にはCRCCCITT(X16+X12+X5+1)の生成多項式を使用します。 CRCコードは、8ビット単位の任意のデータ長のブロックに対し生成される16ビットのコードです。CRC コードは、CRCDレジスタに初期値を設定した後、1バイトのデータをCRCINレジスタに書くごとに、CRCD レジスタに設定されます。1バイトのデータに対するCRCコードの生成は2サイクルで終了します。 図2.13.1にCRCブロック図、図2.13.2にCRC関連レジスタを示します。また、図2.13.3にCRC演算例を示 します。 データバス上位 データバス下位 下位8ビット 上位8ビット CRCDレジスタ CRCコード生成回路 CRC入力レジスタ(8) x16+x12+x5+1 CRCINレジスタ 図2.13.1. CRCブロック図 CRCデータレジスタ (b15) b7 (b8) b0 b7 b0 シンボル CRCD アドレス リセット後の値 03BD16-03BC16番地 不定 機 能 設定範囲 このレジスタに初期値を書いた後、CRCINレジスタに データを書くと、このレジスタからCRCコードが読み 出せる。 000016∼FFFF16 RW RW CRCインプットレジスタ b7 b0 シンボル CRCIN 機 能 データ入力 図2.13.2. CRCD、CRCINレジスタ Rev.1.00 2004.03.01 page 169 of 311 アドレス 03BE16番地 リセット後の値 不定 設定範囲 0016∼FF16 RW RW M306H3MC-XXXFP/FCFP “80C416”のCRCコードを生成する場合の設定手順とCRC演算 ○ M16CのCRC演算 CRCコード:CRCINレジスタに書いた値のビット位置を反転したものを被除数、生成多項式を除数とする除算の剰余 生成多項式:X 16 +X 12 +X 5 +1(1 0001 0000 0010 00012) ○ 設定手順 (1) プログラムで“80C416”のビット位置をバイト単位で反転させる “8016”→“0116”、“C416”→“2316” b15 b0 (2) 000016(初期値)を書く CRCDレジスタ b7 b0 (3) 0116を書く CRCINレジスタ 2サイクル後、“8016”のCRCコード(918816)の、ビット位 置を反転した“118916”がCRCDレジスタに格納される b0 b15 CRCDレジスタ 118916 b7 b0 (4) 2316を書く CRCINレジスタ 2サイクル後、“80C416”のCRCコード(825016)の、ビット 位置を反転した“0A4116”がCRCDレジスタに格納される b15 b0 CRCDレジスタ 0A4116 ○ CRC演算詳細 上記(3)の場合、CRCINレジスタに書いた値“0116(000000012)”はビット位置を反転され“100000002”になる。これに16桁追加 した“1000 0000 0000 0000 0000 00002”と、CRCDレジスタの初期値“000016”を加算した値をモジュロ2除算する。 1 0001 0000 0010 0001 1000 0000 0000 0000 1000 1000 0001 0000 1000 0001 0000 生成多項式 1000 1000 0001 1001 0001 1000 0000 1 1000 0000 1000 1000 0000 0 1 1000 データ モジュロ2の演算とは... 次の法則に基づいた演算 です。 0+0=0 0+1=1 1+0=1 1+1=0 -1 = 1 CRCコード 剰余“1001 0001 1000 10002(918816)”のビット位置を反転した“0001 0001 1000 10012(118916)”がCRCDレジスタから読める。 続けて上記(4)を行う場合、CRCINレジスタに書いた値“2316(001000112)”はビット位置を反転され“110001002”になる。これに 16桁追加した“1100 0100 0000 0000 0000 00002”と、CRCDレジスタに残っている(3)の剰余“1001 0001 1000 10002”を加算した 値をモジュロ2除算する。 剰余のビット位置を反転した“0000 1010 0100 00012(0A4116)”がCRCDレジスタから読める 図2.13.3. CRC演算例 Rev.1.00 2004.03.01 page 170 of 311 M306H3MC-XXXFP/FCFP 2.14 拡張機能 2.14.1 拡張機能概要 拡張機能には、CRC演算機能、データスライス機能、ハミングデコード機能があります。また、それ ぞれの機能は拡張メモリにより制御します。 (1) CRC演算機能 符号の誤り検出、誤り訂正を行います。 (2) データスライサ機能 ハード対応:Teletext, PDC, VPS, VBI, EPG-J, XDS, WSS ソフト対応:CCD, WSS, VBI-ID (3) ハミングデコーダ機能 8/4ハミング,24/18ハミングを行います。 発振回路 FSCIN SYNCIN 垂直同期 分離回路 発振回路 発振回路 シンクセパ 回路 タイミング ジェネレータ ポート制御 回路 CVIN1 シリパラ 変換回路 スライサ回路 CRC レジスタ 制御 レジスタ 24/18 ハミング 8/4 ハミング データバス(16ビット) CPUブロック 図2.14.1 拡張機能ブロック図 Rev.1.00 2004.03.01 page 171 of 311 スライス RAM 調停回路 P11/SLICEON M306H3MC-XXXFP/FCFP 2.14.2 拡張メモリ 拡張機能用メモリはスライスRAM、CRCレジスタ、拡張レジスタの3種類に分けられています。(ハ ミングデコーダはSFR上に配置されたレジスタで動作します。) スライスRAM、CRCレジスタ、拡張レジスタへのデータ書き込み及び読み出しはSFR上に配置された データ設定用レジスタ(020E16番地、021016番地、021216番地、021416番地、021616番地、および021816 番地)により16ビット単位で行います。表2.14.1に各メモリの内容とデータ設定用レジスタを示します。 表2.14.1 拡張メモリ構成 拡張メモリ 内 容 データ設定用レジスタ スライスRAM スライスしたデータを格納します。 スライスRAMアドレス制御レジスタ(020E16 ) スライスRAMデータ制御レジスタ(021016 ) CRCレジスタ 生成多項式、符号データの設定を行うレ ジスタです。 CRCレジスタ用アドレス制御レジスタ(021216 ) CRCレジスタ用データ制御レジスタ(021416 ) 拡張レジスタ データスライサ制御、 拡張レジスタ用アドレス制御レジスタ(021616 ) VBIエンコーダ制御を行うレジスタです。 拡張レジスタ用データ制御レジスタ(021816 ) Rev.1.00 2004.03.01 page 172 of 311 M306H3MC-XXXFP/FCFP 2.14.3 スライスRAM 18ライン分のスライスデータを格納します。スライスデータにはPDC,VPS,VBI, XDS, WSS等があります。 それぞれのデータは全てスライスするラインに対応したアドレス(例えば22ライン目のデータは20016 ∼21716番地)に格納されます。1ラインにつきSR00x∼SR17xまでの24アドレス(16ビット)が用意され ており、スライスデータはLSB側から順に格納されます。なお各ラインの先頭アドレス(SR00x)にはス ライスデータの種類とフィールド情報が格納されています。 スライスRAM構成を表2.14.2に示します。 表2.14.2 スライスRAM構成 01616 01716 SD15 SD14 SD13 SD12 SD11 SD10 SD9 SD8 SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0 備考 ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ SR00F SR00E SR00D SR00C SR00B SR00A SR009 SR008 SR007 SR006 SR005 SR004 SR003 SR002 SR001 SR000 6ラインor 318ライン SR01F SR01E SR01D SR01C SR01B SR01A SR019 SR018 SR017 SR016 SR015 SR014 SR013 SR012 SR011 SR010 スライスデータ ∼ ∼ 00016 00116 ∼ スライスRAMアドレス (SA9∼SA0) SR16F SR16E SR16D SR16C SR16B SR16A SR169 SR168 SR167 SR166 SR165 SR164 SR163 SR162 SR161 SR160 SR17F SR17E SR17D SR17C SR17B SR17A SR179 SR178 SR177 SR176 SR175 SR174 SR173 SR172 SR171 SR170 ∼ 01816 03716 未使用領域 SR17F SR17E SR17D SR17C SR17B SR17A SR179 SR178 SR177 SR176 SR175 SR174 ∼ ∼ ∼ SR003 SR002 SR001 SR000 7ラインor 319ライン スライスデータ SR173 SR172 SR171 SR170 ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ SR00F SR00E SR00D SR00C SR00B SR00A SR009 SR008 SR007 SR006 SR005 SR004 ∼ ∼ 01F16 02016 8ライン∼21ラインor 320ライン∼333ライン スライスデータ 23716 ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ SR003 SR002 SR001 SR000 22ラインor 334ライン スライスデータ SR17F SR17E SR17D SR17C SR17B SR17A SR179 SR178 SR177 SR176 SR175 SR174 ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ SR003 SR002 SR001 SR000 23ラインor 335ライン スライスデータ ∼ SR173 SR172 SR171 SR170 SR00F SR00E SR00D SR00C SR00B SR00A SR009 SR008 SR007 SR006 SR005 SR004 ∼ SR17F SR17E SR17D SR17C SR17B SR17A SR179 SR178 SR177 SR176 SR175 SR174 ∼ ∼ 21716 22016 SR00F SR00E SR00D SR00C SR00B SR00A SR009 SR008 SR007 SR006 SR005 SR004 ∼ ∼ 1F716 20016 ∼ ∼ … 04016 SR173 SR172 SR171 SR170 データのアクセスはスライスRAMアドレス制御レジスタ(020E16番地)に表2.14.2の必要なアドレ ス(SA)を設定し、続けてスライスRAMデータ制御レジスタ(021016番地)よりデータを読み出します。 データの読み出しが終わるとスライスRAMアドレス制御ジスタは自動的にアドレスをインクリメ ントしますので、続けて次のアドレスのデータを読み出すことができます。各ラインデータ間の未使 用領域にはアクセスしないでください。各ラインごとに必ずアドレスを設定してください。 図2.14.2にスライスRAMビット構成を、図2.14.3にスライスRAMアクセス関連レジスタの構成を、 図2.14.4にスライスRAMアクセスブロック図を示します。 Rev.1.00 2004.03.01 page 173 of 311 M306H3MC-XXXFP/FCFP スライス RAM ビット構成 スライスするラインに対応したアドレスの各先頭アドレスは次のスライス情報を格納しています。 ラインレジスタ3 ラインレジスタ2 ラインレジスタ1 その他 SR00F∼SR004 0 0 0 0 SR003 SR002 0 0 0 0 フィールド * フィールド * フィールド * フィールド * SR001 1 1 0 0 SR000 1 0 1 0 *) フィールド 第1フィールド:1 第2フィールド:0 (1).PDC PDCデータの場合、 1アドレスに16ビット (2データ) をLSB側から格納します。 AAA AAAAA AAA AAAAA AA AAA AAAAA AAA AAAAA AA AAAAAAAAAAAAAAAA クロックランイン +フレーミングコード データ1 データ3 データ2 L S B データ4 ML SS BB データ5 データ6 データ40 データ42 データ39 データ41 M S B SR010 SR01F SR030 SR03F SR020 SR02F SR140 SR14F SR150 SR15F SR16x、SR17xは未使用領域です。 (2).VPS VPSデータ及びVBIデータの場合は1アドレスに8ビット (1データ) をLSB側から格納します。 下位8ビットはスライスデータを格納し、上位8ビットは送られてきたデータがバイフェーズ形式として認識できな かった場合のワーニングビットとなっています。 このワーニングビットはバイフェーズデータ=“1,0” または“0,1” (バイフェーズ形式)の場合は“0” となり、バイ フェーズデータ=“0,0” または“1,1” (バイフェーズ形式ではない)の場合は“1” となります。 (例えばSR011のバ イフェーズデータが“0,0” または“1,1”の場合はSR019に“1”がたちます。) クロックランイン +フレーミングコード AAAA AAAAAAAAAA AAAAAAAAAAAAAA データ1 A A L S B データ2 ML SS BB データ3 データ4 データ11 データ12 データ13 M S B SR030 SR037 SR010 SR017 SR020 SR027 SR040 SR047 SR0B0 SR0B7 SR0D0 SR0D7 SR0C0 SR0C7 SR0Ex∼SR17xは未使用領域です。 (3).VBI AAAAAA AAAAAAAA AAAAAA AAAAAAAA AAAAAAAAAAAAAA クロックランイン +フレーミングコード データ1 A A 図2.14.2 スライスRAMビット構成 Rev.1.00 2004.03.01 page 174 of 311 L S B データ2 ML SS BB データ3 データ4 データ5 M S B SR010 SR017 SR030 SR037 SR050 SR057 SR020 SR027 SR040 SR047 SR06x∼SR17xは未使用領域です。 M306H3MC-XXXFP/FCFP スライスRAMアドレス制御レジスタ b15 b9 b8 b7 b0 シンボル SA アドレス 020E16番地 機 能 データの読み出しを行うスライスRAMのアドレスを指 定します。 リセット時 000016 設定可能値 RW 00016∼23716 ×○ 何も配置されていない。書き込む場合、“0”を書き込んでください。 読み出した場合、その値は不定。 −− 注1:スライスRAMにアクセスする場合は必ずスライスRAMアドレスを設定した後 に、スライスRAMデータ制御レジスタ(021016)を使用して下さい スライスRAMデータ制御レジスタをアクセスするごとに、スライスRAMアドレ ス制御レジスタはインクリメントしますので、次のスライスRAMのアドレスを 設定する必要はありません。 注2:スライサ動作中に、ソフトウエアによりスライスRAMのデータを読み出す場合 は、SLICEON出力完了から1水平同期期間以降で行ってください(SLICEON出 力期間は、2.14.6 拡張レジスタ構成の補足を参照してください)。 スライスRAMデータ制御レジスタ b15 b8 b7 b0 シンボル SD アドレス 021016番地 リセット時 000016 AAAAAAAAAAAAAA AAAAAAAAAAAAAA 機 能 RW スライスRAMのデータ読み出しを行います。本レジスタを読み出すことによ り、スライスRAMアドレス制御レジスタ (020E16番地)で指定したスライ ○ × スRAMのデータ読み出しを行います。 注:データアクセスは必ず16bit単位で行い、8bit単位でのアクセスはできません。 図2.14.3 スライスRAMアクセス関連レジスタの構成 データバス(16ビット) AAAAAAAA AAAAAAA AAAAAAAA AAAAAAA (020E16番地) スライスRAMアドレス制御レジスタ(10) (SA9∼SA0) スライスRAMデータ制御レジスタ(16) (021016番地) (SD15∼SD0) データアクセス後 自動インクリメント AAAAAAAAAAAAAA AAAAAAAAAAAAAA AAAAAAAAAAAAAA AAAAAAAAAAAAAA CRC入力レジスタ(8) スライスRAM 図2.14.4 スライスRAMアクセスブロック図 Rev.1.00 2004.03.01 page 175 of 311 M306H3MC-XXXFP/FCFP 2.14.4 CRC演算回路(EPG-J) CRC演算回路(EPG-J)はデータ多重放送における符号化方式である272-190短縮化差集合巡回符号によ る誤り検出、誤り訂正を行うための回路です。 CRCレジスタは図2.14.6に示すレジスタから構成されています。CRCレジスタは生成多項式、符号デー タ等を設定することにより、誤り検出、多数決論理による誤り訂正が行えます。 表2.14.3にCRCレジスタ構成を示します。 表2.14.3 CRCレジスタ構成 CA3∼CA0 0016 0116 0216 0316 0416 0516 0616 0716 0816 0916 0A16 0B16 0C16 0D16 CD15 DAOUT15 _ CRC_66 CRC_50 CRC_34 CRC_18 CRC_02 _ REG_C81 REG_C65 REG_C49 REG_C33 REG_C17 REG_C01 CD14 DAOUT14 _ CRC_67 CRC_51 CRC_35 CRC_19 CRC_03 _ REG_C80 REG_C64 REG_C48 REG_C32 REG_C16 REG_C00 CD13 DAOUT13 _ CRC_68 CRC_52 CRC_36 CRC_20 CRC_04 _ REG_C79 REG_C63 REG_C47 REG_C31 REG_C15 _ CD12 DAOUT12 _ CRC_69 CRC_53 CRC_37 CRC_21 CRC_05 _ REG_C78 REG_C62 REG_C46 REG_C30 REG_C14 _ CD2 CD3 CD4 CD5 CD6 CD7 CD8 CD9 CD10 CD11 CD1 CD0 DAOUT2 DAOUT3 DAOUT4 DAOUT5 DAOUT6 DAOUT7 DAOUT8 DAOUT9 DAOUT10 DAOUT11 DAOUT1 DAOUT0 CRC_ERR10 CRC_ERR09 CRC_ERR08 CRC_ERR07 CRC_ERR06 CRC_ERR05 CRC_ERR04 CRC_ERR03 CRC_ERR02 CRC_ERR01 CRC_ERR00 _ CRC_75 CRC_74 CRC_70 CRC_71 CRC_72 CRC_73 CRC_76 CRC_77 CRC_78 CRC_79 CRC_80 CRC_81 CRC_59 CRC_58 CRC_54 CRC_55 CRC_56 CRC_57 CRC_60 CRC_61 CRC_62 CRC_63 CRC_64 CRC_65 CRC_47 CRC_46 CRC_45 CRC_44 CRC_43 CRC_42 CRC_41 CRC_40 CRC_39 CRC_38 CRC_48 CRC_49 CRC_31 CRC_30 CRC_29 CRC_28 CRC_27 CRC_26 CRC_25 CRC_24 CRC_23 CRC_22 CRC_32 CRC_33 CRC_15 CRC_14 CRC_13 CRC_12 CRC_11 CRC_10 CRC_09 CRC_08 CRC_06 CRC_07 CRC_16 CRC_17 _ _ _ _ _ _ _ _ _ _ CRC_00 CRC_01 REG_C68 REG_C69 REG_C70 REG_C71 REG_C72 REG_C73 REG_C74 REG_C75 REG_C76 REG_C77 REG_C67 REG_C66 REG_C52 REG_C53 REG_C54 REG_C55 REG_C56 REG_C57 REG_C59 REG_C60 REG_C61 REG_C58 REG_C51 REG_C50 REG_C36 REG_C37 REG_C38 REG_C39 REG_C40 REG_C41 REG_C42 REG_C43 REG_C44 REG_C45 REG_C35 REG_C34 REG_C20 REG_C21 REG_C22 REG_C23 REG_C24 REG_C26 REG_C27 REG_C28 REG_C29 REG_C25 REG_C19 REG_C18 REG_C04 REG_C05 REG_C06 REG_C07 REG_C08 REG_C09 REG_C10 REG_C11 REG_C12 REG_C13 REG_C03 REG_C02 _ _ _ _ _ _ _ _ _ CRCLSB CRCCK1 CRCCK0 CRCレジスタ用アドレス制御レジスタ b15 b14b 13 b8 b7 5 b4 b3 b0 シンボル CA アドレス 0212 16 番地 リセット時 0000 16 機 能 設定可能値 RW アクセスするCR Cレジスタ用のアドレスを指定します。 00 16 ∼0D16 ○○ CRCレジスタ用アドレスの自動インクリメント設定 0:有効/1:無効(注2) − ○ 何も配置されていない。書き込む場合、“0”を書き込んでください。 読み出した場合、その値は不定。 −− CRCCLOOP0∼ 5 00 16 ∼3F16 ○○ − ○○ − ○○ CRCCHANGE CRC演算くり返し回数 誤り検出・訂正選択設定 0:誤り検出モード/1:誤り訂正モード CRC演算動作 0:停止/1:動作(注3) CRCON 注1:CR Cレジスタにアクセスする場合は必ずCR Cレジスタアドレスを設定した後 に、CR Cレジスタデータ制御レジスタ(021 416 )を使用して下さい。 注2:ビット4を“0”にした場合、CR Cレジスタデータ制御レジスタをアクセスする ごとに、CR Cレジスタアドレスはインクリメントしますので、次のCR Cレジ スタのアドレスを設定する必要はありません。ビット4を“1”にした場合、 アドレスは固定となります。 注3:ビット15を“0”にした場合、CR Cデータレジスタ(アドレス(CA3∼ CA0) =01∼ 07) の値はクリアされます。 CRCレジスタ用データ制御レジスタ b15 b 8 b7 b 0 シンボル CD アドレス 0214 16 番地 機 能 CRCレジスタ用アドレス制御レジスタ(0212 16 番地) で指定したCR Cレジスタのデータ書き込み、読み出しを 行います。 リセット時 0000 16 設定可能値 0000 16 ∼FFFF16 RW ○○ 注:データアクセスは必ず16b it単位で行い、8bit単位でのアクセスはできません。 図2.14.5 CRCレジスタアクセス関連レジスタの構成 Rev.1.00 2004.03.01 page 176 of 311 備考 M306H3MC-XXXFP/FCFP CRCレジスタデータへのアクセスはCRCレジスタアドレス制御レジスタ(021216番地)に表2.14.3 の アクセスするアドレス(CA3∼CA0)を設定し、続けてCRCレジスタデータ制御レジスタ(021416番地) よりデータ(CD15∼CD0)を書き込みます。データの書き込みが終わると拡張レジスタアドレス制御レ ジスタは自動的にアドレスをインクリメントしますので、続けて次のアドレスのデータを書き込むこと ができます。図2.14.5にCRCレジスタアクセス関連レジスタの構成を、図2.14.6にCRCレジスタアクセス ブロック図を示します。図2.14.7にCRC演算回路の演算例を、図2.14.8にプログラム例を示します。 また、CRCレジスタのビット構成をP180∼ P192 に示します。 データバス(16ビット) (021216番地) (CA13∼CA8) AAAAAAA AAAAAA AAAAAAAAAAAAA (CA4) CRCレジスタ用アドレス制御レジスタ(6) (CA3∼CA0) CRCレジスタ用データ制御レジスタ(16) (021416番地) (CD15∼CD0) データアクセス後 自動インクリメント AAAA AAAA AAAA AAAA AAAAAAAA AAAAA AAAAA AAAAA AAAAA AAAA AAAA AAAA AAAA AAAA AAAAA AAAAA AAAAA AAAAA AAAAA コードデータ シフトレジスタ シフトカウンタ シフト制御回路 誤り訂正モード 誤り判定回路 (多数決回路) 図2.14.6 CRCレジスタ用アクセスブロック図 Rev.1.00 2004.03.01 page 177 of 311 生成多項式レジスタ 82ビットCRC演算回路 剰余多項式レジスタ CRC誤り検出レジスタ M306H3MC-XXXFP/FCFP b82 b81 (1) 生成多項式の 設定 1 b0 0 0 0 0 1 1 0 ・・・ 0 0 0 1 0 0 0 1 CRCレジスタ REG_C81∼00 【0816∼0D16番地】 b82は"1"固定 データ多重放送で使用される生成多項式は X82+X77+X76+X71+X67+X66+X56+X52+X48+X40+X36+X34+X24+X22+X18+X10+X4+1 です。 b81 (2) CRC剰余ビット のリセット b0 0 0 0 0 0 0 0 ・・・ 0 0 0 0 0 0 0 0 CRCレジスタ CRC_81∼00 【0216∼0716番地】 CRCON=0(CRCレジスタ用アドレス制御レジスタ)により、CRC剰余ビットは自動的にリセットされる。 b15 b0 CRCレジスタ (3) 0016の設定 ADOUT 【0016番地】 CRC演算終了後 b81 b0 CRCレジスタ CRC_81∼00 【0216∼0716番地】 CRCコードが格納される 設定したデータはLSB側から順にDAOUTに剰余ビットの低次側(b0)へシフトされます。 モジュロ2の演算とは... 次の法則に基づいた演算 です。 0+0=0 0+1=1 1+0=1 1+1=0 -1 = 1 ・・・ 1000 01 ・・・ 100 0011 0000 ・・・ 0001 0001 0000 0000 0000 0001 0000 0000 ・・・ 0000 0000 0000 ・・・ 0000 0000 1 0000 1100 ・・・ 0010 001 b0 b82 b81 1100 ・・・ 0010 0010 0000 1000 ・・・ 0001 0001 剰余 b81 図2.14.7 CRC演算回路の演算例 Rev.1.00 2004.03.01 page 178 of 311 b0 M306H3MC-XXXFP/FCFP ; ; Equations ( 定数定義 ) ; _CRC_ADRS .equ 00212h ; CRCレジスタ用アドレス制御レジスタのSFRアドレス _CRC_DATA .equ 00214h ; CRCレジスタ用データ制御レジスタ のSFRアドレス SLICE_WORD_NUM .equ 17 ; 符号データ長(ワード数) ; ; マクロ定義 ; _wait .macro nop nop nop .endm ; ; CRC演算ルーチン ; ;--------- 生成多項式の設定 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------mov.w #0008H , _CRC_ADRS _wait ; 生成多項式レジスタの先頭アドレスを設定 ; ウェイト mov.w 0000110000100011B , _CRC_DATA ; 生成多項式82次∼66次までの係数 ( x^77 +x~ 76 +x^71 +x^67 +x^66) mov.w 0000000001000100B , _CRC_DATA ; 生成多項式65次∼50次までの係数 (+x^56 +x^52) mov.w 0100000001000101B , _CRC_DATA ; 生成多項式49次∼34次までの係数 (+x^48 +x^40 +x^36 +x^34 mov.w 0000000001010001B , _CRC_DATA ; 生成多項式33次∼18次までの係数 (+x^24 +x^22 +x^18) mov.w 0000000100000100B , _CRC_DATA ; 生成多項式17次∼2次までの係数 (+x^10 +x^4) mov.w 0100000000000000B , _CRC_DATA ; 生成多項式1次∼0次までの係数 (+x^0), シフトクロック分周なし、LSBファスト ;------ 符号データの書き込み ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------mov.w #0000H , _CRC_ADRS ; CRCレジスタ (REG_C81∼REG_C00の初期化) mov.w #9010H , _CRC_ADRS ; CRCON=1,CRCCHANGE=0,CRCLOOP=10H,インクリメント=OFF,CRCアドレス=00Hを設定 mov.w #0000H , A0 cmp.w #SLICE_WORD_NUM*2 , A0 jgeu L20 L18: ; ループ変数(A0)の初期化 ; 分岐先ラベル ; ループ変数の比較 ; 符号データの書き込み終了の場合ラベルL20へ lde.w _CrcCodeData[A0] , _CRC_DATA ; 符号データをデータシフトレジスタへ書き込む add.w #0002H ,A0 ; 符号データ格納アドレスのインクリメント jmp L18 ; ループ先頭へ戻る L20: ; 分岐先ラベル ;--------- ダミーシフト -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------; 272ビットの符号データの書き込みを終了した後、誤り訂正を行う場合は必ず ; 1ビット分のダミーシフトを行う ; 1ビットの指定はCRCLOOP=01Hで設定 mov.w #8100H , _CRC_ADRS #0000H , _CRC_DATA _wait mov.w ; CRCON=1,CRCCHANGE=0,CRCLOOP=1H,インクリメント=ON,CRCアドレス=00Hを設定 ; ウェイト ; ダミーシフト用にデータシフトレジスタへデータを書込む ;--------- 誤り検出 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------; ダミーシフトの時、アドレス自動インクリメントを設定しているため、ここでCRCアドレス=01H ; ここで他のCRCレジスタをアクセスする場合は、次の2行の処理が必要 ; mov.w ; _wait #9001H , _CRC_ADRS ; CRCON=1,CRCCHANGE=0,CRCLOOP=10H,インクリメント=ON,CRCアドレス=01Hを設定 ; ウェイト mov.w _CRC_DATA , R0 cmp.w #0000H , R0 jeq L16 ; CRC誤り検出レジスタを読出す ; CRC誤りの判定を行う ; 0の場合はCRCエラーが発生していないのでL16へ分岐(誤り訂正をスキップ) ;--------- 誤り訂正 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------mov.w #0D010H , _CRC_ADRS mov.w #0000H , A0 cmp.w #SLICE_WORD_NUB , A0 jgeu L24 _wait ; CRCON=1,CRCCHANGE=1,CRCLOOP=10H,インクリメト=OFF,CRCアドレス=00Hを設定 ; ウェイト L22: ; ループ変数(A0)の初期化 ; 分岐先ラベル ; ループ変数の比較 ; 誤りデータ終了の場合ラベルL24へ lde.w _CrcCodeData[A0] jsr _waitlong , _CRC_DATA mov.w _CRC_DATA , _CrcCodeData[A0] add.w #0002H , A0 jmp L22 ; 符号データをデータシフトレジスタへ書き込む ; 誤り訂正終了待ち用ウェイト ; 誤り訂正データを符号データ格納アドレスに読み出す ; 符号データ格納アドレスのインクリメント ; ループ先頭へ戻る L24: ; 分岐先ラベル ;------- 誤り訂正データの確認 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------mov.w #8111H , _CRC_ADRS _CRC_DATA , R0 _wait mov.w ; CRCON=1,CRCCHANGE=0,CRCLOOP=1H,インクリメント=OFF,CRCアドレス=01H ; ウェイト ; 誤り訂正後の誤りチェックを行う.正しく訂正できた場合R0=000H L16: ; ; 誤り訂正用ウェイト用関数サンプル ; .align .glb _waitlong _waitlong: ; 関数ラベル rts 図2.14.8 プログラム例 Rev.1.00 2004.03.01 page 179 of 311 M306H3MC-XXXFP/FCFP CRCレジスタのビット構成 (1)0016番地(=CA3∼0) CD15 CD8CD7 CD0 ビットシンボル ビット名 DAOUT0 符号データシフトレジスタ 書き込みビット0 DAOUT1 符号データシフトレジスタ 書き込みビット1 DAOUT2 符号データシフトレジスタ 書き込みビット2 DAOUT3 符号データシフトレジスタ 書き込みビット3 DAOUT4 符号データシフトレジスタ 書き込みビット4 DAOUT5 符号データシフトレジスタ 書き込みビット5 DAOUT6 符号データシフトレジスタ 書き込みビット6 DAOUT7 符号データシフトレジスタ 書き込みビット7 DAOUT8 符号データシフトレジスタ 書き込みビット8 DAOUT9 符号データシフトレジスタ 書き込みビット9 DAOUT10 符号データシフトレジスタ 書き込みビット10 DAOUT11 符号データシフトレジスタ 書き込みビット11 DAOUT12 符号データシフトレジスタ 書き込みビット12 DAOUT13 符号データシフトレジスタ 書き込みビット13 DAOUT14 符号データシフトレジスタ 書き込みビット14 DAOUT15 符号データシフトレジスタ 書き込みビット15 機 能 書き込み時は、符号データシフト レジスタへデータを書き込みます (注1)。 読み出し時には、誤り検出モードと 誤り訂正モード時があります。 ・誤り検出モード (CRCCHANGE=0の時) シフト終了後は000016が読み出さ れる。シフト中は不定。 ・誤り訂正モード (CRCCHANGE=1の時) 元のデータを書き込みシフト終了 後に読み出すと訂正されたデータ が読み出される。 注1. 図2.14.6 CRCレジスタ用アクセスブロック図を参照してください。 Rev.1.00 2004.03.01 page 180 of 311 R W M306H3MC-XXXFP/FCFP (2)0116番地(=CA3∼0) CD15 CD8CD7 CD0 ビットシンボル 機 能 ビット名 CRC_ERR00 CRC ビット81∼74誤り検出ビット CRC剰余ビット81∼74(0216番地)の 論理和 CRC_ERR01 CRC ビット73∼66誤り検出ビット CRC剰余ビット73∼66(0216番地)の 論理和 CRC_ ERR02 CRC ビット65∼58誤り検出ビット CRC剰余ビット65∼58(0316番地)の 論理和 CRC_ERR03 CRC ビット57∼50誤り検出ビット CRC剰余ビット57∼50(0316番地)の 論理和 CRC_ERR04 CRC ビット49∼42誤り検出ビット CRC剰余ビット49∼42(0416番地)の 論理和 CRC_ERR05 CRC ビット41∼34誤り検出ビット CRC剰余ビット41∼34(0416番地)の 論理和 CRC_ERR06 CRC ビット33∼26誤り検出ビット CRC剰余ビット33∼26(0516番地)の 論理和 CRC_ERR07 CRC ビット25∼18誤り検出ビット CRC剰余ビット25∼18(0516番地)の 論理和 CRC_ERR08 CRC ビット17∼10誤り検出ビット CRC剰余ビット17∼10(0616番地)の 論理和 CRC_ERR09 CRC ビット09∼02誤り検出ビット CRC剰余ビット09∼02(0616番地)の 論理和 CRC_ERR10 CRC ビット01∼00誤り検出ビット CRC剰余ビット01∼00(0716番地)の 論理和 何も配置されていない 読み出した場合、その値は“0”。 Rev.1.00 2004.03.01 page 181 of 311 R W M306H3MC-XXXFP/FCFP (3)02 16番地(=CA3∼0) CD15 CD8CD7 CD0 ビットシンボル ビット名 CRC_81 剰余多項式81次係数ビット CRC_80 剰余多項式80次係数ビット 機 能 81 CRC_MOD = Σ CRC_n ・ X n=0 Rev.1.00 2004.03.01 page 182 of 311 CRC_79 剰余多項式79次係数ビット CRC_78 剰余多項式78次係数ビット CRC_77 剰余多項式77次係数ビット CRC_76 剰余多項式76次係数ビット CRC_75 剰余多項式75次係数ビット CRC_74 剰余多項式74次係数ビット CRC_73 剰余多項式73次係数ビット CRC_72 剰余多項式72次係数ビット CRC_71 剰余多項式71次係数ビット CRC_70 剰余多項式70次係数ビット CRC_69 剰余多項式69次係数ビット CRC_68 剰余多項式68次係数ビット CRC_67 剰余多項式67次係数ビット CRC_66 剰余多項式66次係数ビット R W 剰余多項式の各次数の係数を設定 します。 剰余多項式をCRC_MODとすると n M306H3MC-XXXFP/FCFP (4)0316番地(=CA3∼0) CD15 CD8CD7 CD0 ビットシンボル Rev.1.00 2004.03.01 page 183 of 311 ビット名 CRC_65 剰余多項式65次係数ビット CRC_64 剰余多項式64次係数ビット CRC_63 剰余多項式63次係数ビット CRC_62 剰余多項式62次係数ビット CRC_61 剰余多項式61次係数ビット CRC_60 剰余多項式60次係数ビット CRC_59 剰余多項式59次係数ビット CRC_58 剰余多項式58次係数ビット CRC_57 剰余多項式57次係数ビット CRC_56 剰余多項式56次係数ビット CRC_55 剰余多項式55次係数ビット CRC_54 剰余多項式54次係数ビット CRC_53 剰余多項式53次係数ビット CRC_52 剰余多項式52次係数ビット CRC_51 剰余多項式51次係数ビット CRC_50 剰余多項式50次係数ビット 機 能 CRC_81∼66(0216番地)を参照して ください。 R W M306H3MC-XXXFP/FCFP (5)04 16番地(=CA3∼0) CD15 Rev.1.00 CD8CD7 2004.03.01 CD0 page 184 of 311 ビットシンボル ビット名 CRC_49 剰余多項式49次係数ビット CRC_48 剰余多項式48次係数ビット CRC_47 剰余多項式47次係数ビット CRC_46 剰余多項式46次係数ビット CRC_45 剰余多項式45次係数ビット CRC_44 剰余多項式44次係数ビット CRC_43 剰余多項式43次係数ビット CRC_42 剰余多項式42次係数ビット CRC_41 剰余多項式41次係数ビット CRC_40 剰余多項式40次係数ビット CRC_39 剰余多項式39次係数ビット CRC_38 剰余多項式38次係数ビット CRC_37 剰余多項式37次係数ビット CRC_36 剰余多項式36次係数ビット CRC_35 剰余多項式35次係数ビット CRC_34 剰余多項式34次係数ビット 機 能 CRC_81∼66(0216番地)を参照して ください。 R W M306H3MC-XXXFP/FCFP (6)0516番地(=CA3∼0) CD15 Rev.1.00 CD8CD7 2004.03.01 CD0 page 185 of 311 ビットシンボル ビット名 CRC_33 剰余多項式33次係数ビット CRC_32 剰余多項式32次係数ビット CRC_31 剰余多項式31次係数ビット CRC_30 剰余多項式30次係数ビット CRC_29 剰余多項式29次係数ビット CRC_28 剰余多項式28次係数ビット CRC_27 剰余多項式27次係数ビット CRC_26 剰余多項式26次係数ビット CRC_25 剰余多項式25次係数ビット CRC_24 剰余多項式24次係数ビット CRC_23 剰余多項式23次係数ビット CRC_22 剰余多項式22次係数ビット CRC_21 剰余多項式21次係数ビット CRC_20 剰余多項式20次係数ビット CRC_19 剰余多項式19次係数ビット CRC_18 剰余多項式18次係数ビット 機 能 CRC_81∼66(0216番地)を参照して ください。 R W M306H3MC-XXXFP/FCFP (7)06 16番地(=CA3∼0) CD15 CD8CD7 CD0 ビットシンボル ビット名 CRC_17 剰余多項式17次係数ビット CRC_16 剰余多項式16次係数ビット CRC_15 剰余多項式15次係数ビット CRC_14 剰余多項式14次係数ビット CRC_13 剰余多項式13次係数ビット CRC_12 剰余多項式12次係数ビット CRC_11 剰余多項式11次係数ビット CRC_10 剰余多項式10次係数ビット CRC_09 剰余多項式09次係数ビット CRC_08 剰余多項式08次係数ビット CRC_07 剰余多項式07次係数ビット CRC_06 剰余多項式06次係数ビット CRC_05 剰余多項式05次係数ビット CRC_04 剰余多項式04次係数ビット CRC_03 剰余多項式03次係数ビット CRC_02 剰余多項式02次係数ビット ビットシンボル ビット名 CRC_01 剰余多項式01次係数ビット CRC_00 剰余多項式00次係数ビット 機 能 R W CRC_81∼66(0216番地)を参照して ください。 (8)07 16番地(=CA3∼0) CD15 CD8CD7 CD0 何も配置されていない 読み出した場合、その値は“0”。 Rev.1.00 2004.03.01 page 186 of 311 機 能 CRC_81∼66(0216番地)を参照して ください。 R W M306H3MC-XXXFP/FCFP (9)0816番地(=CA3∼0) CD15 CD8CD7 CD0 ビットシンボル 機 能 ビット名 REG_C66 生成多項式66次係数ビット REG_C67 生成多項式67次係数ビット 81 Rev.1.00 2004.03.01 page 187 of 311 生成多項式68次係数ビット REG_C69 生成多項式69次係数ビット REG_C70 生成多項式70次係数ビット REG_C71 生成多項式71次係数ビット REG_C72 生成多項式72次係数ビット REG_C73 生成多項式73次係数ビット REG_C74 生成多項式74次係数ビット REG_C75 生成多項式75次係数ビット REG_C76 生成多項式76次係数ビット REG_C77 生成多項式77次係数ビット REG_C78 生成多項式78次係数ビット REG_C79 生成多項式79次係数ビット REG_C80 生成多項式80次係数ビット REG_C81 生成多項式81次係数ビット n GP = Σ REG_Cn ・ X +X n=0 REG_C68 R W 生成多項式の各次数の係数を設定 します。 生成多項式をGPとすると 82 M306H3MC-XXXFP/FCFP (10)09 16番地(=CA3∼0) CD15 CD8CD7 CD0 ビットシンボル Rev.1.00 2004.03.01 page 188 of 311 ビット名 REG_C50 生成多項式50次係数ビット REG_C51 生成多項式51次係数ビット REG_C52 生成多項式52次係数ビット REG_C53 生成多項式53次係数ビット REG_C54 生成多項式54次係数ビット REG_C55 生成多項式55次係数ビット REG_C56 生成多項式56次係数ビット REG_C57 生成多項式57次係数ビット REG_C58 生成多項式58次係数ビット REG_C59 生成多項式59次係数ビット REG_C60 生成多項式60次係数ビット REG_C61 生成多項式61次係数ビット REG_C62 生成多項式62次係数ビット REG_C63 生成多項式63次係数ビット REG_C64 生成多項式64次係数ビット REG_C65 生成多項式65次係数ビット 機 能 REG_C66∼REG_C81(0816番地)を参照 してください。 R W M306H3MC-XXXFP/FCFP (11)0A16番地(=CA3∼0) CD15 CD8CD7 CD0 ビットシンボル Rev.1.00 2004.03.01 page 189 of 311 ビット名 REG_C34 生成多項式34次係数ビット REG_C35 生成多項式35次係数ビット REG_C36 生成多項式36次係数ビット REG_C37 生成多項式37次係数ビット REG_C38 生成多項式38次係数ビット REG_C39 生成多項式39次係数ビット REG_C40 生成多項式40次係数ビット REG_C41 生成多項式41次係数ビット REG_C42 生成多項式42次係数ビット REG_C43 生成多項式43次係数ビット REG_C44 生成多項式44次係数ビット REG_C45 生成多項式45次係数ビット REG_C46 生成多項式46次係数ビット REG_C47 生成多項式47次係数ビット REG_C48 生成多項式48次係数ビット REG_C49 生成多項式49次係数ビット 機 能 REG_C66∼REG_C81(0816番地)を参照 してください。 R W M306H3MC-XXXFP/FCFP (12)0B16番地(=CA3∼0) CD15 CD8CD7 CD0 ビットシンボル Rev.1.00 2004.03.01 page 190 of 311 ビット名 REG_C18 生成多項式18次係数ビット REG_C19 生成多項式19次係数ビット REG_C20 生成多項式20次係数ビット REG_C21 生成多項式21次係数ビット REG_C22 生成多項式22次係数ビット REG_C23 生成多項式23次係数ビット REG_C24 生成多項式24次係数ビット REG_C25 生成多項式25次係数ビット REG_C26 生成多項式26次係数ビット REG_C27 生成多項式27次係数ビット REG_C28 生成多項式28次係数ビット REG_C29 生成多項式29次係数ビット REG_C30 生成多項式30次係数ビット REG_C31 生成多項式31次係数ビット REG_C32 生成多項式32次係数ビット REG_C33 生成多項式33次係数ビット 機 能 REG_C66∼REG_C81(0816番地)を参照 してください。 R W M306H3MC-XXXFP/FCFP (13)0C16番地(=CA3∼0) CD15 CD8CD7 CD0 ビットシンボル Rev.1.00 2004.03.01 page 191 of 311 ビット名 REG_C02 生成多項式02次係数ビット REG_C03 生成多項式03次係数ビット REG_C04 生成多項式04次係数ビット REG_C05 生成多項式05次係数ビット REG_C06 生成多項式06次係数ビット REG_C07 生成多項式07次係数ビット REG_C08 生成多項式08次係数ビット REG_C09 生成多項式09次係数ビット REG_C10 生成多項式10次係数ビット REG_C11 生成多項式11次係数ビット REG_C12 生成多項式12次係数ビット REG_C13 生成多項式13次係数ビット REG_C14 生成多項式14次係数ビット REG_C15 生成多項式15次係数ビット REG_C16 生成多項式16次係数ビット REG_C17 生成多項式17次係数ビット 機 能 REG_C66∼REG_C81(0816番地)を参照 してください。 R W M306H3MC-XXXFP/FCFP (14)0D16番地(=CA3∼0) CD15 CD8CD7 CD0 ビットシンボル ビット名 CRCLSB 符号データシフトレジスタ LSB/MSBファースト選択ビット CRCCK0 符号データシフトレジスタ クロック選択ビット 機 能 R W 0 LSBファースト 1 MSBファースト REG_CRCCK1 REG_CRCCK0 0 0 1 1 CRCCK1 0 1 0 1 分周値 分周なし 2 4 8 何も配置されていない 読み出した場合、その値は不定。 Rev.1.00 2004.03.01 page 192 of 311 REG_C00 生成多項式00次係数ビット REG_C01 生成多項式01次係数ビット REG_C66∼REG_C81(0816番地)を参照 してください。 Rev.1.00 2004.03.01 _ GETPEEK3 0916 0A16 _ page 193 of 311 DD13 _ _ _ _ DIVV_CK6 _ _ _ _ DIVV_CK7 _ 2516 2616 2716 _ _ _ _ 3616 _ _ _ _ _ EXAOFF 3316 3416 YUKOU2 3516 _ RMTSEL 3116 _ _ 3016 3216 _ _ STB_RES 2E16 2F16 HCOUNT14 _ HCOUNT15 2D16 _ _ 2C16 _ _ _ _ STBY0 YUKOU1 _ _ _ HCOUNT13 _ _ SEL_VPSH _ _ _ _ _ _ _ DIVV_CK5 _ _ _ _ DD11 DD10 _ FLC11 _ _ _ _ _ FLC11 FLC10 _ _ _ _ _ _ _ _ _ _ VERTX YUKOU0 _ _ _ HCOUNT12 _ _ SEL_PDCH _ _ _ _ DIVV_CK4 _ _ _ HINT3 HINT2 PTD8 _ FILDIV1 _ STBY1 _ JSTCKDIV1 _ _ _ HCOUNT10 JSTCKON _ _ _ HCOUNT11 _ _ _ _ SYNCSEP_ON0 _ _ INTDA _ DIVV_CK2 _ _ DIV_VPS7 DIV_PDC7 DIVF_CK2 _ _ _ _ _ STBSYNCSEP _ _ DIVV_CK3 _ _ DIV_VPS8 DIV_PDC8 DIVF_CK3 _ _ _ _ _ _ _ _ _ _ _ _ _ SLSLVL _ _ CHK_FLC10 BIFON CHK_FLC11 _ _ _ _ SLSLVL BIFON CHK_FLC10 FLC10 _ _ _ _ HINT1 PTC8 _ FILDIV0 JSTCKDIV0 _ _ _ HCOUNT9 _ _ _ _ SLI_GO INTAD _ DIVV_CK1 _ _ DIV_VPS6 DIV_PDC6 DIVF_CK1 _ _ _ VPS_VCO_ON _ _ _ _ GET_HP1 CHK_FLC9 FLC9 HINT0 HINT_LINE8 _ RMTHD1(8) RMTHD0(8) _ _ _ HCOUNT8 PLSNEG8 PLSPOS8 _ _ VPS_VP8 ADON _ DIVV_CK0 _ _ DIV_VPS5 DIV_PDC5 DIVF_CK0 NORMAL _ _ PDC_VCO_R1 _ _ _ _ GET_HP0 _ CHK_FLC8 FLC8 _ _ _ _ GET_HP0 _ CHK_FLC8 FLC8 _ _ _ GET_HP0 _ _ GET_HP1 _ CHK_FLC9 FLC9 _ _ _ GET_HP1 CHK_FLC8 FLC8 _ FLC9 LN8_OD1 LN8_OD0 _ _ LN8_EV1 _ SLSLVL _ DD8 LN8_EV0 LN9_OD1 LN9_OD0 _ _ LN9_EV1 CHK_FLC9 _ CHK_FLC11 DD9 LN9_EV0 CHK_FLC10 FLC10 _ LN10_OD1 LN10_OD0 _ _ LN10_EV1 LN10_EV0 _ _ BIFON CHK_FLC11 FLC11 _ LN11_OD1 LN11_OD0 _ _ LN11_EV1 LN11_EV0 _ GETPEEK0 _ CHK_FLC12 FLC12 _ _ _ SEL_PDEC _ GETPEEK0 HORAX_ON _ 2A16 _ FLC12 CHK_FLC12 _ 2816 2B16 _ _ _ _ _ NXP _ _ 2916 _ _ HM84SEL 2216 2416 _ 2316 MPAL _ _ 2016 2116 _ _ _ _ 1E16 1F16 _ _ ADSTART 1C16 _ _ _ _ _ _ _ GETPEEK1 _ CHK_FLC13 FLC13 SELVCO _ _ GETPEEK1 _ CHK_FLC13 FLC13 SELVCO _ _ _ GETPEEK0 CHK_FLC12 FLC12 _ LN12_OD1 LN12_OD0 _ _ LN12_EV1 _ 1A16 1D16 DD12 LN12_EV0 GETPEEK1 CHK_FLC13 FLC13 SELVCO LN13_OD1 LN13_OD0 _ _ LN13_EV1 LN13_EV0 1B16 FRAM _ _ GETPEEK2 _ GETPEEK3 1716 1816 1916 FLC14 CHK_FLC14 FLC15 CHK_FLC15 1516 DIVS0 _ FRAM GETPEEK2 1616 _ _ DIVS1 1216 1316 1416 _ GETPEEK3 1016 1116 DIVS0 FLC14 CHK_FLC14 DIVS1 FLC15 CHK_FLC15 0E16 0F16 _ FRAM GETPEEK2 FLC14 DIVS0 LN14_OD1 LN14_OD0 0D16 _ FLC15 CHK_FLC15 0716 0816 _ DIVS1 0B16 _ LN15_OD1 0516 0616 0C16 CHK_FLC14 LN15_OD0 LN16_EV1 LN16_EV0 0416 LN14_EV1 LN15_EV1 LN17_EV0 LN17_EV1 0116 0216 0016 0316 DD14 LN14_EV0 DD15 LN15_EV0 DA5∼DA0 DD7 DD6 _ FLC7 INTRMT3 HINT_LINE7 _ RMTHD1(7) RMTHD0(7) _ _ _ HCOUNT7 PLSNEG7 PLSPOS7 _ MASK7 VPS_VP7 _ _ DIVP_CK7 _ _ DIV_VPS4 DIV_PDC4 DIV_FSC7 _ MACRO_ON _ PDC_VCO_R0 _ _ SLS7 _ SLS_HP7 SEKI7 CHK_FLC7 DD5 INTRMT2 HINT_LINE6 _ RMTHD1(6) RMTHD0(6) _ _ _ HCOUNT6 PLSNEG6 PLSPOS6 _ MASK6 VPS_VP6 _ _ INTRMT1 HINT_LINE5 _ RMTHD1(5) RMTHD0(5) _ _ _ HCOUNT5 PLSNEG5 PLSPOS5 _ MASK5 VPS_VP5 _ _ DIVP_CK5 _ _ DIVP_CK6 _ DIV_VPS2 DIV_PDC2 _ DIV_VPS3 DIV_PDC3 DIV_FSC5 SELXT2 _ SEPV0 _ _ INTRMT0 HINT_LINE4 _ RMTHD1(4) RMTHD0(4) _ _ _ HCOUNT4 PLSNEG4 PLSPOS4 _ MASK4 VPS_VP4 _ _ DIVP_CK4 SLION_TIM _ DIV_VPS1 DIV_PDC1 DIV_FSC4 SELXT1 FLD1V _ _ _ _ SLS4 _ SLS_HP4 SEKI4 CHK_FLC4 FLC4 _ SLS4 _ SLS_HP4 SEKI4 CHK_FLC4 FLC4 _ SLS4 _ SLS_HP4 SEKI4 CHK_FLC4 FLC4 _ LN4_OD1 LN4_OD0 _ _ LN4_EV1 _ _ DIV_FSC6 DD4 LN4_EV0 _ SLS5 _ SLS_HP5 SEKI5 CHK_FLC5 FLC5 _ SLS5 _ SLS_HP5 SEKI5 CHK_FLC5 FLC5 _ SLS5 _ SLS_HP5 SEKI5 CHK_FLC5 FLC5 _ LN5_OD1 LN5_OD0 _ _ LN5_EV1 LN5_EV0 _ PDC_VCO_ON SELSEP0 _ SLS6 _ SLS_HP6 SEKI6 CHK_FLC6 FLC6 _ SLS6 _ _ SLS7 SLS_HP6 SEKI6 CHK_FLC6 FLC6 _ SLS6 _ SLS_HP6 SEKI6 CHK_FLC6 FLC6 _ LN6_OD1 LN6_OD0 SLS_HP7 SEKI7 CHK_FLC7 FLC7 _ SLS7 _ SLS_HP7 SEKI7 CHK_FLC7 FLC7 _ LN7_OD1 LN7_OD0 LN6_EV1 LN16_OD0 LN16_OD1 LN7_EV1 LN17_OD0 LN6_EV0 LN17_OD1 LN7_EV0 DD3 DD2 _ _ _ PLSNEG3 VINT3 HINT_LINE3 _ RMTHD1(3) RMTHD0(3) _ _ _ HCOUNT3 VINT2 HINT_LINE2 _ RMTHD1(2) RMTHD0(2) _ _ _ HCOUNT2 PLSNEG2 PLSPOS2 MASK2 _ PLSPOS3 VPS_VP2 MASK3 _ _ DIVP_CK2 REG_FLD1V _ DIV_VPSS2 DIV_PDCS2 DIV_FSC2 _ _ VPS_VP3 6BITOFF _ DIVP_CK3 REG_FLD2V _ DIV_VPS0 DIV_PDC0 DIV_FSC3 SELXT0 _ _ XTAL_VCO _ _ _ SLS2 _ _ SLS_HP2 SEKI2 CHK_FLC2 FLC2 _ SLS2 _ SLS_HP2 SEKI2 CHK_FLC2 SLS3 _ SLS_HP3 SEKI3 CHK_FLC3 FLC3 _ SLS3 _ SLS_HP3 SEKI3 CHK_FLC3 FLC2 _ FLC3 SLS2 _ _ SLS_HP2 SEKI2 CHK_FLC2 SLS3 _ SLS_HP3 SEKI3 CHK_FLC3 FLC2 _ FLC3 LN2_OD1 _ LN2_OD0 _ _ LN2_EV1 LN2_EV0 LN3_OD1 LN3_OD0 _ _ LN3_EV1 LN3_EV0 DD1 VINT1 HINT_LINE1 _ RMTHD1(1) RMTHD0(1) _ _ _ HCOUNT1 PLSNEG1 PLSPOS1 _ MASK1 VPS_VP1 START _ DIVP_CK1 ADON_TIM _ DIV_VPSS1 DIV_PDCS1 DIV_FSC1 _ _ _ _ _ _ SLS1 _ SLS_HP1 SEKI1 CHK_FLC1 FLC1 _ SLS1 _ SLS_HP1 SEKI1 CHK_FLC1 FLC1 _ SLS1 _ SLS_HP1 SEKI1 CHK_FLC1 FLC1 _ LN1_OD1 LN1_OD0 _ _ LN1_EV1 LN1_EV0 DD0 VINT0 HINT_LINE0 _ RMTHD1(0) RMTHD0(0) _ _ _ HCOUNT0 PLSNEG0 PLSPOS0 _ MASK0 VPS_VP0 ADLAT _ DIVP_CK0 ADSEL _ DIV_VPSS0 DIV_PDCS0 DIV_FSC0 _ _ _ _ _ _ SLS0 _ SLS_HP0 SEKI0 CHK_FLC0 FLC0 _ SLS0 _ SLS_HP0 SEKI0 CHK_FLC0 FLC0 _ SLS0 _ SLS_HP0 SEKI0 CHK_FLC0 FLC0 _ LN0_OD1 LN0_OD0 _ _ LN0_EV1 LN0_EV0 リード用 リード用 リード用 状態レジスタ3 状態レジスタ2 状態レジスタ1 ラインレジスタ 備考 M306H3MC-XXXFP/FCFP 2.14.5 拡張レジスタ データスライサ機能の制御を行います。 表2.14.4に拡張レジスタの構成を示します。 表2.14.4 拡張レジスタ構成 M306H3MC-XXXFP/FCFP 拡張レジスタデータへのアクセスは拡張レジスタアドレス制御レジスタ(021616番地)に表2.14.4 の アクセスするアドレス(DA5∼DA0)を設定し、続けて拡張レジスタデータ制御レジスタ(021816番地) よりデータ(DD15∼DD0)を書き込みます。データの書き込みが終わると拡張レジスタアドレス制御レ ジスタは自動的にアドレスをインクリメントしますので、続けて次のアドレスのデータを書き込むこと ができます。図2.14.9に拡張レジスタアクセス関連レジスタの構成を、図2.14.10に拡張レジスタアクセス ブロック図を示します。 また、拡張レジスタのビット構成をP195∼ P222 に示します。 拡張レジスタ用アドレス制御レジスタ b15 b8 b7 b5 b0 シンボル DA アドレス 021616番地 リセット時 000016 機 能 設定可能値 RW アクセスする拡張レジスタ用のアドレスを指定します。 0016∼3616 ○○ 何も配置されていない。書き込む場合、“0”を書き込んでください。 読み出した場合、その値は不定。 拡張レジスタ用アドレスの自動インクリメント設定 0:有効/1:無効(注2) −− − ○ 何も配置されていない。書き込む場合、“0”を書き込んでください。 読み出した場合、その値は不定。 −− 注1:拡張レジスタにアクセスする場合は必ず拡張レジスタアドレスを設定した後 に、拡張レジスタデータ制御レジスタ(021816)を使用して下さい。 注2:ビット8を“0”にした場合、拡張レジスタデータ制御レジスタをアクセスする ごとに、拡張レジスタアドレスはインクリメントしますので、次の拡張レジ スタのアドレスを設定する必要はありません。ビット8を“1”にした場合、 アドレスは固定となります。 拡張レジスタ用データ制御レジスタ b15 b8 b7 b0 シンボル DD アドレス 021816番地 リセット時 000016 AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA 機 能 設定可能値 拡張レジスタ用アドレス制御レジスタ (021616番地)で 指定した拡張レジスタのデータ書き込み、読み出しを行 います。 RW 000016∼FFFF16 ○ ○ 注:データアクセスは必ず16bit単位で行い、8bit単位でのアクセスはできません。 図2.14.9 拡張レジスタ用関連レジスタの構成 データバス(16ビット) (021616番地) AAAAAAAA AAAAAAA AAAAAAAAAAAAAAA AAAAAAAAAAAAAA AAAAAAAAAAAAAA AAAAAAAAAAAAAA AAAAAAAAAAAAAA (DA8) 拡張レジスタ用アドレス制御レジスタ(6) (DA5∼DA0) 拡張レジスタ用データ制御レジスタ(16) (DD15∼DD0) データアクセス後 自動インクリメント CRC入力レジスタ(8) 拡張レジスタ 図2.14.10 拡張レジスタ用アクセスブロック図 Rev.1.00 2004.03.01 page 194 of 311 (021816番地) M306H3MC-XXXFP/FCFP 拡張レジスタのビット構成 (1)0016番地(=DA5∼0) DD15 DD8DD7 DD0 ビットシンボル ビット名 LN0_EV0 0行目状態レジスタ選択ビット LN1_EV0 1行目状態レジスタ選択ビット LN2_EV0 2行目状態レジスタ選択ビット LN3_EV0 3行目状態レジスタ選択ビット LN4_EV0 4行目状態レジスタ選択ビット LN5_EV0 5行目状態レジスタ選択ビット LN6_EV0 6行目状態レジスタ選択ビット LN7_EV0 7行目状態レジスタ選択ビット LN8_EV0 8行目状態レジスタ選択ビット LN9_EV0 9行目状態レジスタ選択ビット LN10_EV0 10行目状態レジスタ選択ビット LN11_EV0 11行目状態レジスタ選択ビット LN12_EV0 12行目状態レジスタ選択ビット LN13_EV0 13行目状態レジスタ選択ビット LN14_EV0 14行目状態レジスタ選択ビット LN15_EV0 15行目状態レジスタ選択ビット 機 能 R W 第2フィールド時、n行目(注1)の スライス方法について どの状態レジスタ(注2)の設定を スライス方法として使用するかを LNn_EV0(0016番地、0216番地、 n=0∼17)とLNn_EV1(0116番地、 0316番地、n=0∼17)の組み合わせに より選択します。 各行ごとに以下の4種類の状態 レジスタを選択できます。(注3) LNn_EV1 LNn_EV0 状態レジスタ(注2) 設定しない 0 0 状態レジスタ1 1 0 状態レジスタ2 0 1 状態レジスタ3 1 1 注1. n行目…スライス開始後のライン数。 詳細は2.14.6拡張レジスタ構成の補足(3)(P225)を参照してください。 注2. 06h∼0Ch 番地:状態レジスタ1 0Dh∼13h 番地:状態レジスタ2 14h∼1Ah 番地:状態レジスタ3 注3. 設定例 分離後のVsync 0行目 1行目 2行目 分離後のHsync ライン1 ライン2 ・・・ ラインn ライン(n+1) ライン(n+2) LN0_EV1=0 LN1_EV1=0 LN2_EV1=1 LN0_EV0=1 LN1_EV0=1 LN2_EV0=0 状態レジスタ 1の設定で スライス処理 Rev.1.00 2004.03.01 page 195 of 311 状態レジスタ 1の設定で スライス処理 状態レジスタ 2の設定で スライス処理 M306H3MC-XXXFP/FCFP (2)01 16番地(=DA5∼0) DD15 DD8DD7 DD0 ビットシンボル Rev.1.00 2004.03.01 page 196 of 311 ビット名 LN0_EV1 0行目状態レジスタ選択ビット LN1_EV1 1行目状態レジスタ選択ビット LN2_EV1 2行目状態レジスタ選択ビット LN3_EV1 3行目状態レジスタ選択ビット LN4_EV1 4行目状態レジスタ選択ビット LN5_EV1 5行目状態レジスタ選択ビット LN6_EV1 6行目状態レジスタ選択ビット LN7_EV1 7行目状態レジスタ選択ビット LN8_EV1 8行目状態レジスタ選択ビット LN9_EV1 9行目状態レジスタ選択ビット LN10_EV1 10行目状態レジスタ選択ビット LN11_EV1 11行目状態レジスタ選択ビット LN12_EV1 12行目状態レジスタ選択ビット LN13_EV1 13行目状態レジスタ選択ビット LN14_EV1 14行目状態レジスタ選択ビット LN15_EV1 15行目状態レジスタ選択ビット 機 能 設定はLNn_EV0(0016番地)を参照 してください。 R W M306H3MC-XXXFP/FCFP (3)0216番地(=DA5∼0) DD15 DD8DD7 DD0 ビット名 ビットシンボル 機 能 何も配置されていない LN16_OD0 16行目状態レジスタ選択ビット LN17_OD0 17行目状態レジスタ選択ビット × × 設定はLNn_OD0(0416番地)を参照 してください。 何も配置されていない LN16_EV0 16行目状態レジスタ選択ビット LN17_EV0 17行目状態レジスタ選択ビット R W × × 設定はLNn_EV0(0016番地)を参照 してください。 (4)0316番地(=DA5∼0) DD15 DD8DD7 DD0 ビットシンボル ビット名 機 能 × × 何も配置されていない LN16_OD1 16行目状態レジスタ選択ビット LN17_OD1 17行目状態レジスタ選択ビット 設定はLNn_OD0(0416番地)を参照 してください。 × × 何も配置されていない Rev.1.00 2004.03.01 page 197 of 311 LN16_EV1 16行目状態レジスタ選択ビット LN17_EV1 17行目状態レジスタ選択ビット R W 設定はLNn_EV0(0016番地)を参照 してください。 M306H3MC-XXXFP/FCFP (5)04 16番地(=DA5∼0) DD15 DD8DD7 DD0 ビットシンボル ビット名 LN0_OD0 0行目状態レジスタ選択ビット LN1_OD0 1行目状態レジスタ選択ビット LN2_OD0 2行目状態レジスタ選択ビット LN3_OD0 3行目状態レジスタ選択ビット LN4_OD0 4行目状態レジスタ選択ビット LN5_OD0 5行目状態レジスタ選択ビット LN6_OD0 6行目状態レジスタ選択ビット LN7_OD0 7行目状態レジスタ選択ビット LN8_OD0 8行目状態レジスタ選択ビット LN9_OD0 9行目状態レジスタ選択ビット LN10_OD0 10行目状態レジスタ選択ビット LN11_OD0 11行目状態レジスタ選択ビット LN12_OD0 12行目状態レジスタ選択ビット LN13_OD0 13行目状態レジスタ選択ビット LN14_OD0 14行目状態レジスタ選択ビット LN15_OD0 15行目状態レジスタ選択ビット 機 能 R W 第1フィールド時、n行目(注1)の スライス方法について どの状態レジスタの設定(注2)を スライス方法として使用するかを LNn_OD0(0416番地、0216番地、 n=0∼17)とLNn_OD1(0516番地、 0316番地、n=0∼17)の組み合わせに より選択します。 各行ごとに以下の4種類の状態 レジスタを選択できます。(注3) LNn_OD1 LNn_OD0 状態レジスタ(注2) 設定しない 0 0 状態レジスタ1 1 0 状態レジスタ2 0 1 状態レジスタ3 1 1 注1. n行目…スライス開始後のライン数。 詳細は2.14.6拡張レジスタ構成の補足(3)(P225)を参照してください。 注2. 06h∼0Ch 番地:状態レジスタ1 0Dh∼13h 番地:状態レジスタ2 14h∼1Ah 番地:状態レジスタ3 注3. 設定例 分離後のVsync 0行目 1行目 2行目 分離後のHsync ライン1 ライン2 ・・・ ラインn ライン(n+1) ライン(n+2) LN0_OD1=0 LN1_OD1=0 LN2_OD1=1 LN0_OD0=1 LN1_OD0=1 LN2_OD0=0 状態レジスタ 1の設定で スライス処理 Rev.1.00 2004.03.01 page 198 of 311 状態レジスタ 1の設定で スライス処理 状態レジスタ 2の設定で スライス処理 M306H3MC-XXXFP/FCFP (6)05 16番地(=DA5∼0) DD15 Rev.1.00 DD8DD7 2004.03.01 DD0 page 199 of 311 ビットシンボル ビット名 LN0_OD1 0行目状態レジスタ選択ビット LN1_OD1 1行目状態レジスタ選択ビット LN2_OD1 2行目状態レジスタ選択ビット LN3_OD1 3行目状態レジスタ選択ビット LN4_OD1 4行目状態レジスタ選択ビット LN5_OD1 5行目状態レジスタ選択ビット LN6_OD1 6行目状態レジスタ選択ビット LN7_OD1 7行目状態レジスタ選択ビット LN8_OD1 8行目状態レジスタ選択ビット LN9_OD1 9行目状態レジスタ選択ビット LN10_OD1 10行目状態レジスタ選択ビット LN11_OD1 11行目状態レジスタ選択ビット LN12_OD1 12行目状態レジスタ選択ビット LN13_OD1 13行目状態レジスタ選択ビット LN14_OD1 14行目状態レジスタ選択ビット LN15_OD1 15行目状態レジスタ選択ビット 機 能 設定はLNn_OD0(0416番地)を参照 してください。 R W M306H3MC-XXXFP/FCFP (7)06 16, 0D16, 1416番地(=DA5∼0) DD15 DD8DD7 DD0 1 1 0 0 0 0 0 0 0 0 機 能 ビット名 ビットシンボル R W 予約ビット 必ず“0”にしてください。 × 予約ビット 必ず“1”にしてください。 × × × 何も配置されていない SELVCO スライス用PLL選択ビット DIVS0 スライス用クロック分周ビット DIVS1 Rev.1.00 2004.03.01 page 200 of 311 0 PDC 1 VPS DIVS1 0 0 1 1 DIVS0 0 1 0 1 分周値 1分周 2分周 3分周 5分周 M306H3MC-XXXFP/FCFP (8)07 16, 0E16, 1516番地(=DA5∼0) DD15 DD8DD7 DD0 ビットシンボル ビット名 FLC0 フレーミングコード選択ビット FLC1 機 能 R W フレーミングコードを設定する クロック ランイン フレーミング コード データ 設定 FLC2 FLC3 FLC4 FLC5 FLC6 FLC7 FLC8 FLC9 FLC10 FLC11 FLC12 FLC13 FLC14 FLC15 Rev.1.00 2004.03.01 page 201 of 311 FLC0 ∼ FLC15 最大16ビットまでチェック。 ただし、CHK_FLCn(0816, 0F16, 1516番地)=“1”のビットは チェックしない。 M306H3MC-XXXFP/FCFP (9)08 16, 0F16, 16 16番地(=DA5∼0) DD15 DD8DD7 DD0 ビットシンボル CHK_FLC0 CHK_FLC1 機 能 ビット名 フレーミングコード チェック選択ビット データをスライスする時、FLC0∼15 (0716, 0E16, 1516番地)で設定したフレー ミングコードをビット単位でチェック するかしないかを設定します。 チェック設定したビットが一致すれば データはスライスされます。 CHK_FLC2 CHK_FLC3 CHK_FLC4 CHK_FLC5 CHK_FLC6 CHK_FLC7 CHK_FLC8 CHK_FLC9 CHK_FLC10 CHK_FLC11 CHK_FLC12 CHK_FLC13 CHK_FLC14 CHK_FLC15 Rev.1.00 2004.03.01 page 202 of 311 CHK_FLCn nビット目 0 チェックする 1 チェックしない R W M306H3MC-XXXFP/FCFP (10)0916, 1016, 1716番地(=DA5∼0) DD8DD7 DD15 0 1 1 0 DD0 1 ビットシンボル SEKI0 機 能 ビット名 データスライサ制御ビット1 SEKI1 R W N SEKI1 SEKI0 5 0 0 4 1 0 3 0 1 微分なし(注1) 1 1 SEKI7.6後のデジタル値をN倍します。 N SEKI2 4 0 0 3 0 1 1 1 0 微分しない 1 1 SEKI0,1後のデジタル値に対して N/8 周期(クロックライン周期)前の デジタルデータで微分します。 N SEKI5 SEKI4 4 0 0 3 1 0 1 0 1 微分しない 1 1 SEKI3,2後のデジタル値に対して N/8 周期(クロックライン周期)後の デジタルデータで微分します。 N SEKI7 SEKI6 4 0 0 3 1 0 5 0 1 1 1 1 SEKI3 SEKI2 データスライサ制御ビット2 SEKI3 SEKI4 データスライサ制御ビット3 SEKI5 SEKI6 データスライサ制御ビット4 Nクロック分のAD後、デジタル値を 平均します。 SEKI7 × × 何も配置されていない 必ず“1”にしてください。 予約ビット SLSLVL BIFON スライスレベル計測期間 選択ビット データ形式選択ビット 0 クロックライン2周期分 1 クロックライン4周期分 × × 0 Non Return Zero 1 バイフェーズ形式 予約ビット 必ず“0”にしてください。 × 予約ビット 必ず“1”にしてください。 × 予約ビット 必ず“0”にしてください。 × 注1. SEKI6, 7で設定した倍率です。ただし、(SEKI7, SEKI6)=(1, 1)の時は設定禁止。 Rev.1.00 2004.03.01 page 203 of 311 M306H3MC-XXXFP/FCFP (11)0A16,1116, 1816番地(=DA5∼0) DD8DD7 DD15 DD0 0 1 ビットシンボル ビット名 機 能 SLS_HP0 スライスチェック開始位置 選択ビット スライス開始位置をSLS_HSとすると R W 7 SLS_HS = T2×Σ2n SLS_HPn n=0 SLS_HP1 T2 : クロックランイン周期÷2 SLS_HP2 SLS_HP3 SLS_HP4 フレーミングコードをチェックし始 める位置を設定 SLS_HP5 1ビット 単位で設定可 SLS_HP6 SLS_HP7 GET_HP0 位相微調整ビット スライスデータ0/1判定クロックの 微調整を行います。 GET_HP1 Rev.1.00 2004.03.01 page 204 of 311 予約ビット 必ず“1”にしてください。 × 予約ビット 必ず“0”にしてください。 × GETPEEK1 GETPEEK0 クロックランイン周期 0 0 2 0 1 3 1 0 6 1 1 8 GETPEEK0 ピーク検出期間選択ビット0 GETPEEK1 ピーク検出期間選択ビット1 GETPEEK2 ピーク検出期間選択ビット2 0 クロック補正あり 1 クロック補正なし GETPEEK3 ピーク検出期間選択ビット3 0 山のみ検出 1 山と谷を検出 M306H3MC-XXXFP/FCFP (12)0B 16, 1216, 1916番地(=DA5∼0) DD15 0 DD8DD7 DD0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ビットシンボル ビット名 機 能 R W 予約ビット 必ず“0”にしてください。 × 予約ビット 必ず“1”にしてください。 × FRAM フレーミングコードチェック ビット数選択ビット 予約ビット 0 15ビットチェック 1 16ビットチェック × 必ず“0”にしてください。 (13)0C 16, 1316, 1A16番地(=DA5∼0) DD15 DD8DD7 DD0 0 0 0 0 0 ビットシンボル SLS0 ビット名 スライスレベル選択ビット 機 能 R W スライスレベルをSLS_LVLとすると SLS1 SLS_LVL SLS2 データ SLS3 SLS4 SLS7 = "H"のとき 6 SLS5 SLS6 SLS_LVL = Σ2n SLSn−128 n=0 SLS7 = "L"のとき 6 SLS_LVL = Σ2n SLSn SLS7 予約ビット 何も配置されていない Rev.1.00 2004.03.01 page 205 of 311 n=0 必ず“0”にしてください。 × × × M306H3MC-XXXFP/FCFP (14)1B16番地(=DA5∼0) DD8DD7 DD15 0 0 0 DD0 0 0 1 1 0 0 0 0 0 0 ビットシンボル 機 能 ビット名 R W 予約ビット 必ず“0”にしてください。 × 予約ビット 必ず“1”にしてください。 × 予約ビット 必ず“0”にしてください。 × 何も配置されていない 予約ビット × × 必ず“0”にしてください。 × (15)1C16番地(=DA5∼0) DD8DD7 DD15 0 0 0 0 0 0 0 0 DD0 0 0 0 0 0 0 ビットシンボル 必ず“0”にしてください。 予約ビット SELSEP0 H・V入力選択ビット Rev.1.00 2004.03.01 page 206 of 311 A/D変換終了ビット R W × 0 分離したH・Vを使用 1 外部入力のH・Vを使用 必ず“0”にしてください。 予約ビット ADSTART 機 能 ビット名 0 変換終了 1 変換中 × M306H3MC-XXXFP/FCFP (16)1D16番地(=DA5∼0) DD8DD7 DD15 DD0 0 0 0 0 0 機 能 ビット名 ビットシンボル ×× 何も配置されていない XTAL_VCO 同期クロック発振選択ビット 予約ビット 0 内部用クロック停止 1 内部用クロック発振 必ず“0”にしてください。 PDC_VCO_ON PDCクロック発振選択ビット PDC_VCO_R0 PDCクロック発振切替ビット PDC_VCO_R1 VPS_VCO_ON R W × 0 PDC用クロック停止 1 PDC用クロック発振 PDC_VCO_R1 PDC_VCO_R0 0 1 0 1 0 0 1 1 PDC用クロックを選択 EPG-J用クロックを選択 設定しないでください 設定しないでください × VPSクロック発振選択ビット 0 VPS用クロック停止 1 VPS用クロック発振 予約ビット 必ず“0”にしてください。 × × × 何も配置されていない (17)1E16番地(=DA5∼0) DD15 DD8DD7 DD0 0 0 0 0 0 0 機 能 ビット名 ビットシンボル 予約ビット R W 必ず“0”にしてください。 何も配置されていない (18)1F16番地(=DA5∼0) DD15 DD8DD7 DD0 0 0 ビットシンボル 機 能 ビット名 何も配置されていない FLD1V フィールド状態フラグ 予約ビット MACRO_ON 必ず“0”にしてください 同期信号検索フラグ 何も配置されていない Rev.1.00 2004.03.01 page 207 of 311 0 偶数フィールド 1 奇数フィールド 0 正常 1 異常 R W M306H3MC-XXXFP/FCFP (19)2016番地(=DA5∼0) DD8DD7 DD15 0 0 0 0 0 0 DD0 1 0 0 0 0 ビットシンボル 予約ビット SELXT0 機 能 ビット名 R W 必ず“0”にしてください。 同期(fsc)クロック位相調整 制御ビット × (SELXT1, SELXT0) = (1, 0)にして ください。 SELXT1 SELXT2 SEPV0 0 32分周 同期(fsc)クロック分周制御ビット 0 15µs/22µsのL期間で検出 垂直同期分離基準選択ビット 1 22µsのL期間で検出 予約ビット NORMAL 必ず“0”にしてください。 フレーミングコードチェック 制御ビット 予約ビット NXP MPAL 予約ビット Rev.1.00 2004.03.01 page 208 of 311 1 分周値設定(2116番地DIV_FSC参照) 0 チェックする(フレーミングコードが一致したらスライスする) 1 チェックしない(全てスライスする) 必ず“0”にしてください。 放送形式選択ビット × NXP 0 0 1 1 MPAL 0 1 0 1 × 放送形式 NTSC M-PAL PAL 設定禁止 必ず“0”にしてください。 × M306H3MC-XXXFP/FCFP (20)21 16番地(=DA5∼0) DD15 DD8DD7 DD0 ビットシンボル DIV_FSC0 機 能 ビット名 fsc用PLLの分周値選択ビット メインクロックとの位相比較用に 分周クロック周波数fscの調整をする。 7 DIV_FSC1 R W n f fsc = f P1 × Σ 2 DIV_FSCn n=0 DIV_FSC2 f P1 : 分周メインクロック周波数 DIV_FSC3 DIV_FSC7∼0=(00111010)2 と設定してください。 DIV_FSC4 本レジスタを設定する場合は SELXT2(2016番地)を“1”にして ください。 DIV_FSC5 DIV_FSC6 DIV_FSC7 DIVF_CK0 位相比較用メインクロック 分周値選択ビット DIVF_CK1 fsc PLLとの位相比較用に用い、分周 メインクロック周波数fP1の調整を する。 3 n 10MHz = f P1 × Σ 2 DIVF_CKn n=0 DIVF_CK2 DIVF_CK3∼0=(0101)2 と設定してください。 DIVF_CK3 何も配置されていない Rev.1.00 2004.03.01 page 209 of 311 × × M306H3MC-XXXFP/FCFP (21)2216番地(=DA5∼0) DD15 DD8DD7 DD0 ビットシンボル DIV_PDCS0 機 能 ビット名 PDC用PLL微調整ビット DIV_PDCS1 PDC用スライスクロック周波数fPDC の調整をします。 f PDC = f H × 8 n ( n=0 Σ 2 DIV_PDCn 2 DIV_PDCS2 m-3 + Σ 2 m=0 DIV_PDC0 PDC用PLLの分周値選択ビット R W DIV_PDCSm ) f H : 水平同期信号周波数 DIV_PDC1 メインクロック同期を選択時、次の 様に設定します。 ・テレテキスト(PDC)データを取得 する場合 DIV_PDC8∼0、DIV_PDCS2∼0 = (00000100011)2 ・EPG-Jを取得する場合 DIV_PDC8∼0、DIV_PDCS2∼0 = (00000101000)2 DIV_PDC2 ( ) DIV_PDC3 ( ) DIV_PDC4 DIV_PDC5 DIV_PDC6 DIV_PDC7 DIV_PDC8 × × 何も配置されていない HM84SEL Rev.1.00 2004.03.01 page 210 of 311 8/4ハミング反転選択ビット 0 ノーマル 1 8/4ハミングの4bitデータを反転出力 M306H3MC-XXXFP/FCFP (22)23 16番地(=DA5∼0) DD15 DD8DD7 DD0 0 0 0 ビットシンボル DIV_VPSS0 機 能 ビット名 VPS用PLL微調整ビット DIV_VPSS1 VPS用スライスクロック周波数fPDC の調整をします。 f VPS = f H × (n=08Σ 2n 2 DIV_VPSS2 DIV_VPSn m-3 + Σ 2 m=0 DIV_VPS0 VPS用PLLの分周値選択ビット R W DIV_VPSSm ) f H : 水平同期信号周波数 DIV_VPS1 通常は30を指定 DIV_VPS8∼0、 DIV_VPSS2∼0 = (00000011110)2 ( ) DIV_VPS2 DIV_VPS3 DIV_VPS4 DIV_VPS5 DIV_VPS6 DIV_VPS7 DIV_VPS8 HORAX_ON 予約ビット Rev.1.00 2004.03.01 page 211 of 311 水平同期信号選択ビット 0 アナログ入力 1 HORのデジタル入力 必ず“0”にしてください。 × M306H3MC-XXXFP/FCFP (23)2416番地(=DA5∼0) DD15 DD8DD7 DD0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 機 能 ビット名 ビットシンボル 予約ビット 必ず“0”にしてください。 R W × (24)2516番地(=DA5∼0) DD15 0 DD8DD7 DD0 0 1 0 0 1 1 0 0 0 機 能 ビット名 ビットシンボル 0 ADSEL A/D変換スライスビット 1 ADON_TIM A/D動作制御ビット 0 プログラマブル 1 スライス期間 REG_FLD1V 第1フィールドスライス 開始ライン補正ビット 0 1 REG_FLD2V 第2フィールドスライス 開始ライン補正ビット 0 1 SLICEON_TIM スライス選択ビット 0 ライン毎(CHECK_START) 1 プログラマブル(PRE_START) VPS_VP8∼0で指定したラインからスライス 開始 (VPS_VP8∼0で指定したライン+1)から スライス開始 VPS_VP8∼0で指定したラインからスライス 開始 (VPS_VP8∼0で指定したライン+1)から スライス開始 予約ビット 必ず“0”にしてください。 × 予約ビット 必ず“1”にしてください。 × 予約ビット 必ず“0”にしてください。 × 予約ビット 必ず“1”にしてください。 × 予約ビット 必ず“0”にしてください。 × × × 何も配置されていない 予約ビット Rev.1.00 2004.03.01 page 212 of 311 R W ノーマル A/D変換後のデジタル値を外から (レジスタで)与える 必ず“0”にしてください。 × M306H3MC-XXXFP/FCFP (25)2616番地(=DA5∼0) DD15 DD8DD7 DD0 ビットシンボル DIVP_CK0 機 能 ビット名 PDCクロックとの位相比較用 クロック分周値選択ビット DIVP_CK1 R W PDCクロックとの位相比較に 用いる分周クロックを設定します。 7 n ffSC = fPDC × Σ 2 DIVS_CKn n=0 DIVP_CK2 fPDC : PDC用スライスクロック 周波数(DIV_PDCS0∼2、 DIV_PDC0∼8(2216番地)を 参照して下さい。) DIVP_CK3 DIVP_CK4 テレテキスト(PDC)データを取得 する場合 DIVP_CK7∼0 = (00100110)2 DIVP_CK5 EPG-Jを取得する場合 DIVP_CK7∼0 = (00110101)2 DIVP_CK6 DIVP_CK7 DIVV_CK0 VPSクロックとの位相比較用 クロック分周値選択ビット DIVV_CK1 VPSクロックとの位相比較に 用いる分周クロックを設定します。 7 n ffSC = fVPS × Σ 2 DIVV_CKn n=0 DIVV_CK2 fVPS : VPS用スライスクロック 周波数(DIV_VPSS0∼2、 DIV_VPS0∼8(2316番地)を 参照して下さい。) DIVV_CK3 DIVV_CK4 通常は46を指定 DIVV_CK7∼0 = (00101110)2 DIVV_CK5 DIVV_CK6 DIVV_CK7 (26)2716番地(=DA5∼0) DD15 DD8DD7 DD0 0 0 0 ビットシンボル ビット名 機 能 × × 何も配置されていない 予約ビット Rev.1.00 2004.03.01 page 213 of 311 R W 必ず“0”にしてください × M306H3MC-XXXFP/FCFP (27)2816番地(=DA5∼0) DD8DD7 DD15 0 0 0 0 0 0 0 0 0 DD0 0 ビットシンボル ADLAT 機 能 ビット名 データ取得選択ビット R W 0 スライスデータの取得 1 A/Dデータの取得 バッファメモリ 0: 制御データ データ データ データ START スライスデータ選択ビット 1: 制御データ データ データ スタートまでの オフセット(8ビット) 必ず“0”にしてください。 予約ビット 6BITOFF A/D下位ビット選択ビット 1 A/D6bit目の停止 Rev.1.00 2004.03.01 page 214 of 311 必ず“0”にしてください。 データスライサ制御ビット INTAD データスライサ用アンプ 制御ビット INTDA データスライサ用ラダー 抵抗制御ビット 予約ビット × 0 ノーマル 予約ビット ADON スライスレベル (8ビット) 0 1 × データスライサOFF (スライサ用アンプもOFF) データスライサON(スライサ用アンプに ついてはINTAD,INTDAを参照) 0 データスライサ用アンプ 常時ON 1 3∼23ライン及び315∼335ライン アンプON その他のライン アンプOFF 0 データスライサ用ラダー抵抗 常時ON 1 3∼23ライン及び315∼335ライン ラダー抵抗ON その他のライン ラダー抵抗OFF 必ず“0”にしてください。 × M306H3MC-XXXFP/FCFP (28)2916番地(=DA5∼0) DD8DD7 DD15 DD0 0 0 0 0 ビットシンボル VPS_VP0 VPS_VP1 VPS_VP2 機 能 ビット名 スライス開始ラインの設定 (第一フィールド、第二 フィールド共通) 通常は6ライン目から18 ライン分収納 (VPS_VP8∼VPS_VP0 =“316”固定) VPS_VP3 R W スライス開始ラインをSLI_VSと すると <第一フィールド> 8 n SLI_VS = Σ 2 VPS_VPn + 2 n=0 <第二フィールド> 8 n SLI_VS = Σ 2 VPS_VPn + 314 n=0 本レジスタで設定したラインから 18ライン分のデータをスライス RAMに格納します。 VPS_VP4 VPS_VP5 VPS_VP6 VPS_VP7 VPS_VP8 SLI_GO SYNCSEP_ON0 STBSYNCSEP 予約ビット Rev.1.00 2004.03.01 page 215 of 311 スライスON/OFF制御ビット 0 スライスOFF 1 スライスON シンクセパ選択ビット 0 シンクセパ回路OFF 1 シンクセパ回路ON シンクセパ入力制御ビット 0 SYNCINアナログ入力 1 SYNCINデジタル入力 必ず“0”にして下さい。 × M306H3MC-XXXFP/FCFP (29)2A16番地(=DA5∼0) DD15 DD8DD7 DD0 1 0 0 0 0 0 0 0 MASK0 機 能 ビット名 ビットシンボル タイムベース用マスク幅 選択ビット PAL NTSC R W 1135 910 284 MASK1 MASK2 MASK3 マスク解除の位置を設定 1Hの間の後ろの1/4の期間の中で256段階の 設定ができる。 18H ∼ 256H PALの場合 MASK5 0H∼17Hの順 = MASK4 設定できない MASK6 NTSCの場合 0H ∼ 256H MASK7 通常は80にしてください。 予約ビット 必ず“0”にしてください。 × 予約ビット 必ず“1”にしてください。 × (30)2B16番地(=DA5∼0) DD8DD7 DD15 0 0 0 0 0 DD0 0 0 0 0 0 0 0 ビットシンボル 機 能 ビット名 R W 必ず“0”にしてください。 予約ビット 何も配置されていない SEL_PDCH データスライサ用内部H 選択ビット SEL_VPSH 予約ビット SEL_PDEC Rev.1.00 2004.03.01 page 216 of 311 × × 必ず“0”にしてください。 予約ビット × SEL_PDCG SEL_VPSH 0 0 1 1 0 1 0 1 外部Hsync VPS用PLLより PDC用PLLより VPS or PDC 必ず“0”にしてください。 PLLロック用クロック選択ビット × 0 HsyncよりVPS,PLLロック 1 X'tal系よりVPS,PLLロック × M306H3MC-XXXFP/FCFP (31)2C 16番地(=DA5∼0) DD8DD7 DD15 DD0 1 0 0 0 0 0 0 PLSPOS0 機 能 ビット名 ビットシンボル スライスA/D ON期間選択 ビット R W スライスA/D ON期間をカウント V PLSPOS1 H PLSPOS2 PLSPOS3 8 n Σ 2 PLSPOSn 発目のH PLSPOS4 n=0 8 n Σ 2 PLSNEGn 発目のH n=0 PLSPOS5 PLSPOS6 PLSPOS7 PLSPOS8 予約ビット 必ず“0”にしてください。 × 予約ビット 必ず“1”にしてください。 × (32)2D16番地(=DA5∼0) DD15 DD8DD7 DD0 ビットシンボル PLSNEG0 ビット名 スライスON期間選択 ビット 機 能 R W PLSPOS0∼8(2C16番地)を参照して 下さい。 PLSNEG1 PLSNEG2 PLSNEG3 PLSNEG4 PLSNEG5 PLSNEG6 PLSNEG7 PLSNEG8 何も配置されていない Rev.1.00 2004.03.01 page 217 of 311 × × M306H3MC-XXXFP/FCFP (33)2E16番地(=DA5∼0) DD15 DD8DD7 DD0 HCOUNT0 機 能 ビット名 ビットシンボル R W 水平同期信号をカウントします。 VERTX(3316番地)を“0”にする ことでリセットします。 同期検出ビット HCOUNT1 HCOUNT2 HCOUNT3 HCOUNT4 HCOUNT5 HCOUNT6 HCOUNT7 HCOUNT8 HCOUNT9 HCOUNT10 HCOUNT11 HCOUNT12 HCOUNT13 HCOUNT14 HCOUNT15 (34)2F16番地(=DA5∼0) DD15 DD8DD7 DD0 ビットシンボル 機 能 ビット名 何も配置されていない STB_RES Rev.1.00 2004.03.01 page 218 of 311 拡張レジスタオール リセットビット R W × × 0 1 ノーマル 拡張レジスタ0016番地∼2E16番地まで リセットする。 M306H3MC-XXXFP/FCFP (35)3016番地(=DA5∼0) DD15 DD8DD7 DD0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 機 能 ビット名 ビットシンボル 予約ビット R W 通常は“0”に設定してください × (36)31 16番地(=DA5∼0) DD15 DD8DD7 DD0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 機 能 ビット名 ビットシンボル 予約ビット R W 通常は“0”に設定してください × (37)3216番地(=DA5∼0) DD15 DD8DD7 DD0 ビットシンボル ビット名 機 能 RMHTD0(0) リモコンヘッダー長選択ビット スタンバイモード時リモコンパルス を検出する為、時計用発振(3216番地) に対するヘッダー長を選択する。 RMHTD0(1) R W リモコン パルス RMHTD0(2) B RMHTD0(3) A D C 有効 パルス幅 ヘッダー部 RMHTD0(4) RMHTD0(5) 8 n A = TXCIN× Σ 2 RMHTD0(n) n=0 8 n RMHTD0(6) C = TXCIN × Σ 2 RMHTD1(n) n=0 1 m B = TXCIN × Σ 2 FILDIVm RMHTD0(7) m=0 2 n × Σ 2 YUKOUn n=0 RMHTD0(8) JSTCKDIV0 TXCIN:XCIN端子入力周期 ジャストクロック用フィルタ クロック分周値選択ビット JSTCKDIV1 JSTCKDIV0 サブクロック分周 0 0 1 1 JSTCKDIV1 JSTCKON ジャストクロック用フィルタ 0 フィルタOFF ON/OFF選択ビット 1 フィルタON YUKOU0 リモコンヘッダー判定 パルス長選択ビット YUKOU2 RMTSEL 2004.03.01 page 219 of 311 リモコンヘッダー極性選択 ビット 32分周 64分周 128分周 256分周 RMHTD0(0)∼(8)を参照してくだ さい。 YUKOU1 Rev.1.00 0 1 0 1 0 正転 1 反転 M306H3MC-XXXFP/FCFP (38)33 16番地(=DA5∼0) DD8DD7 DD15 DD0 0 ビットシンボル ビット名 RMHTD1(0) リモコンヘッダー長選択ビット 機 能 R W RMHTD0(0)∼(8)(3216番地)を参照 してください。 RMHTD1(1) RMHTD(2) RMHTD1(3) RMHTD1(4) RMHTD1(5) RMHTD1(6) RMHTD1(7) RMHTD1(8) FILDIV0 リモコンパルス用 クロック分周値選択ビット FILDIV1 予約ビット リモコン許容期間計測用クロック分周値を 選択します。(注1) FILDIV1 FILDIV0 サブクロック周期 0 0 2分周 0 1 4分周 1 0 8分周 1 1 16分周 必ず“0”にしてください。 VERTX 同期検出リセットビット 0 リセット 1 水平同期信号カウント STBY0 スタンバイモード選択ビット 0 ノーマルモード 1 スタンバイモード 何も配置されていない × × 注1. RMHTD0(0)∼(8)(3216番地)を参照してください。 (39)34 16番地(=DA5∼0) DD15 DD8DD7 DD0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ビットシンボル 予約ビット Rev.1.00 2004.03.01 page 220 of 311 ビット名 機 能 必ず“0”にしてください。 R W × M306H3MC-XXXFP/FCFP (40)35 16番地(=DA5∼0) DD8DD7 DD15 DD0 0 0 0 ビットシンボル HINT_LINE0 機 能 ビット名 H_INT割り込み位置 選択ビット Vが入力されてからH_INTが立ち 上がるまでの期間をカウントします。 HINT_LINE1 V HINT_LINE2 H HINT_LINE3 R W H_INT HINT_LINE4 8 n Σ 2 HINT_LINEn n=0 HINT_LINE5 HINT_LINE6 HINT_LINE7 HINT_LINE8 PTC8 ポートP11出力制御ビット PTD8 STBY1 OSCIN入力制御ビット 予約ビット EXAOFF 2004.03.01 page 221 of 311 PTD8 0 0 1 1 0 1 0 1 L固定 H固定 反転(注1) 正転(注1) 0 ノーマルモード 1 スタンバイモード 必ず“0”にしてください。 P11出力信号選択ビット(注2) 0 SLICEON信号 1 H_INT信号(注3) 注1.EXAOFFで選択された信号を出力します。 注2.PTC8=“1”の場合に有効です。 注3.HINT_LINEn(本番地)を参照して下さい。 Rev.1.00 PTC8 × M306H3MC-XXXFP/FCFP (41)3616番地(=DA5∼0) DD8DD7 DD15 DD0 0 0 0 0 ビットシンボル VINT0 ビット名 SLICEON割り込み制御ビット 機 能 R W 0000:割り込み禁止(注3) 1011:割り込み許可 その他:設定禁止 VINT1 本レジスタを1011に設定することに より、スライス期間終了時に割り込 みが発生します。 「割り込み許可」で使用する場合は TB5ICレジスタ(注4)の設定をして下さい。 VINT2 VINT3 INTRMT0 リモコン割り込み制御ビット (注1) 0000:割り込み禁止(注3) INTRMT1 1010:割り込み許可 その他:設定禁止 INTRMT2 「割り込み許可」で使用する場合は TB4ICレジスタ(注4)の設定をして下さい。 INTRMT3 HINT1 0000:割り込み禁止(注3) 1001:割り込み許可 その他:設定禁止 HINT2 「割り込み許可」で使用する場合は TB3ICレジスタ(注4)の設定をして下さい。 HINT0 HINT割り込み制御ビット (注2) HINT3 予約ビット 必ず“0”にしてください。 × 注1.「2.14.6 拡張レジスタ構成の補足」を参照下さい。 注2.HINT_LINE0∼HINT_LINE8(3516番地)の説明を参照下さい。 注3.タイマB3, タイマB4, タイマB5の割り込みを使用する場合は、00002を設定して下さい。 注4.「2.7.5 割り込み制御」の「図2.7.3 割り込み制御レジスタ」を参照下さい。 Rev.1.00 2004.03.01 page 222 of 311 M306H3MC-XXXFP/FCFP 2.14.6 拡張レジスタ構成の補足 (1) スライスタイミング SLICEON信号はスライス可能期間に出力します。 垂直帰線消去期間のパルス 第1フィールド スライス可能期間 622 623 624 625 1 2 3 4 5 6 7 8 9 19 20 21 22 23 24 SLICEON出力期間 第2フィールド 310 311 312 313 314 315 316 317 318 319 320 321 331 332 333 334 335 336 図中の走査線番号はスライスRAMのライン数に対応しています。 図2.14.11 スライスタイミング (2) 同期信号検出回路 複合ビデオ信号の水平同期信号のパルス数を一定期間垂直同期期間カウントします。水平同期のパ ルス数は常に拡張レジスタより読み出すことができます。 図2.14.12にブロック図を示します。 アドレスバス データバス 拡張レジスタ用 調停回路 ラッチ Q HOR T 16bit カウンタ MAX C00016までカウント可能 図2.14.12 同期検出回路のブロック図 Rev.1.00 2004.03.01 page 223 of 311 M306H3MC-XXXFP/FCFP (3) スライサ関連レジスタ Vsync, Hsync信号とスライサ関連レジスタの関係を図2.14.13、図2.14.14に示します。 分離後のVsync VPS_VP0∼8(2916番地) スライス開始ラインの設定 V入力後 1ライン目 2ライン目 ・・・ nライン目 (n+1)ライン目 (n+17)ライン目 分離後のHsync スライス開始後 0行目 奇数フィールド時 LN0_OD1 LN0_OD0 偶数フィールド時 LN0_EV1 LN0_EV0 17行目 1行目 奇数フィールド時 LN1_OD1 LN1_OD0 偶数フィールド時 LN1_EV1 LN1_EV0 奇数フィールド時 LN17_OD1 LN17_OD0 偶数フィールド時 LN17_EV1 LN17_EV0 ・・・ 状態レジスタの選択(00∼0516番地) (18ライン分) 図2.14.13 スライサ関連レジスタ(1) クロック SELVCO, DIVS0∼1 (06, 0D, 1416番地) スライス用クロック選択 HOGO2(09, 10, 1716番地) データ取得用クロック選択 GETPEEK2 (0A, 11, 1816番地) ピーク検出期間終了後の クロック補正選択 GET_HP0∼1 (0A, 11, 1816番地) 位相調整 クロックランイン フレーミングコード データ 分離後のHsync SLSLVL(09, 10, 1716番地) スライスレベル計測期間選択 固定 6周期 GETPEEK3(0A, 11, 1816番地) 山・谷検出選択 SLS_HP0∼7(0A, 11, 1816番地) スライスチェック開始位置設定 図2.14.14 スライサ関連レジスタ(2) Rev.1.00 2004.03.01 page 224 of 311 FLC0∼15(07, 0C, 1316番地) フレーミングコード選択 CHK_FLC0∼15 (08, 0D, 1416番地) フレーミングコードチェック選択 固定 BIFON(07, 0C, 1316番地) データ形式選択 M306H3MC-XXXFP/FCFP (4) リモコンパターン認識 サブクロック発振を利用してリモコンのパターンマッチングを行います。リモコン入力はRMTIN端 子より入力します。パターンマッチングが一致している場合には割り込みを発生します。 図2.14.15にパターンマッチングの波形例を、図2.14.16にパターンマッチングのフローを示します。 RMTIN B D C A ヘッダ 0データ 1データ レジスタ数 最大チェック時間 A “L”チェックプログラマブル 9bit 15.6 ms B パルス立ち上がりチェック 3bit 3.2 ms C “H”チェックプログラマブル 9bit 15.6 ms D パルス立ち下がりチェック 3bit 3.2 ms 注1. 1bit単り 32.768kHz(1クロック分) 注2. BとDは同一値となります 図2.14.15 パターンマッチングの波形例 初期パルス待ち状態 パルス立ち下り なし あり A期間 “L ”チェック NG OK B期間 パルス立ち上がり チェック NG あり C期間 “ H”チェック NG OK D期間 パルス立ち下がり チェック 割り込み発生 図2.14.16 パターンマッチングのフロー Rev.1.00 2004.03.01 page 225 of 311 NG M306H3MC-XXXFP/FCFP 2.14.7 8/4ハミングデコーダ 8/4ハミングデコーダは8/4ハミングレジスタ(021A16番地)に8/4ハミングエンコードされたデータを 書き込むだけで動作します。また、8/4ハミングレジスタは16ビットの構成になっており、一度に2組の データをデコードすることができます。 デコード結果は8/4ハミングレジスタを読み出すことで得られ、デコード値とエラー情報が出力されます。 また、1重誤りの場合はデコード値を訂正して出力し、2重誤りの場合はエラー情報のみを出力します。 図2.14.17にデコード結果を、図2.14.18にハミング8/4レジスタの構成を示します。 ハミングデータ 1 ハミングデータ 2 MSB LSB MSB LSB 書き込み アドレス 021A16 8/4ハミングレジスタ 読み出し エラー情報 エラー情報 デコード値 デコード値 1 1 2 2 0 0 0 0 MSB LSB MSB LSB 1重誤りの時“1”出力 1重誤りの時“1”出力 2重誤りの時“1”出力 2重誤りの時“1”出力 図2.14.17 デコード結果 ハミング8/4レジスタ b15 b8 b7 b0 シンボル HM8 アドレス 021A16番地 機 能 リセット時 000016 RW 8/4ハミングエンコードされたデータを本レジスタに書き込むことで8/4ハミ ングデコーダが動作します。 ○○ デコード結果は本レジスタを読み出すことで得られます。 同時に2組のデータをデコードすることができます。 図2.14.18 ハミング8/4レジスタの構成 Rev.1.00 2004.03.01 page 226 of 311 M306H3MC-XXXFP/FCFP 2.14.8 24/18ハミングデコーダ 24/18ハミングデコーダは、24/18ハミングレジスタ0(021C16番地)と24/18ハミングレジスタ1(021E16 番地)に24/18ハミングエンコードされたデータを書き込むだけで動作します。 デコード結果は同じ24/18ハミングレジスタを読み出すことで得られ、デコード値とエラー情報が出力 されます。 図2.14.19にデコード結果を、図2.14.20にハミング24/18レジスタの構成を示します。 AAAAA AAAAA AAAAA ハミングデータH ハミングデータM ハミングデータL LSB MSB 書き込み アドレス 021E16 書き込み 24/18ハミングレジスタ1 読み出し 読み出し エラー情報 0 0 0 0 0 0 アドレス 021C16 24/18ハミングレジスタ0 デコード値 0 0 0 0 0 0 デコード値 MSB 1重誤りの時“1”出力 LSB 1重誤りは訂正して出力します。 2重誤りの時“1”出力 図2.14.19 デコード結果 ハミング24/18レジスタ0 b15 b8 b7 b0 シンボル HM0 アドレス 021C16番地 リセット時 000016 機 能 RW 24/18ハミングデコーダは本レジスタにデータ下位中位16ビットをハミング2 4/18レジスタ1(021E16)にデータ上位8ビットを書き込むことにより動作し ○○ ます。 デコード結果は本レジスタとハミング24/18レジスタ1を読み出すことで得ら れます。 ハミング24/18レジスタ1 b15 b8 b7 b0 シンボル HM1 アドレス 021E16番地 機 能 リセット時 000016 RW 24/18ハミングデコーダは24/18ハミングレジスタ0(021C16)にデータ下位 中位16ビットを本レジスタにデータ上位8ビットを書き込むことにより動作し ○○ ます。 デコード結果は24/18ハミングレジスタ0と本レジスタを読み出すことで得ら れます。 図2.14.20 ハミング24/18レジスタの構成 Rev.1.00 2004.03.01 page 227 of 311 M306H3MC-XXXFP/FCFP 連続誤り訂正 ハミング24/18レジスタと同時に、8/4ハミングレジスタ(021A16番地)を使用することにより 24/18ハミングの連続誤り訂正を行うことができます。 図2.14.21に連続誤り訂正シーケンスを示します。 A ハミングデータ ① ハミングデータ ① M L B ハミングデータ ② ハミングデータ ① L H C ハミングデータ ② ハミングデータ ② H M D ハミングデータ ③ ハミングデータ ③ M L E ハミングデータ ④ ハミングデータ ③ L H ハミングデータ ④ ハミングデータ ④ H M F 1.データAを021C 16番地に、データBを021E 16番地に書き込む (ハミングデータ①とハミングデータ②のLをデータセット) 2.021C16番地,021E16番地のデータを読み出す (ハミングデータ①のデコード値、エラー情報が得られます) 3.データCを021A 16番地に書き込む (ハミングデータ②のH,Mをデータセット) 4.021C16番地,021E16番地のデータを読み出す (ハミングデータ②のデコード値、エラー情報が得られます) 5.データDを021C16番地に、データEを021E16番地に書き込む (ハミングデータ③とハミングデータ④のLをデータセット) 6.021C16番地,021E16番地のデータを読み出す (ハミングデータ③のデコード値、エラー情報が得られます) 7.データFを021A16番地に書き込む (ハミングデータ④のH,Mをデータセット) 8.021C 16番地,021E16番地のデータを読み出す (ハミングデータ④のデコード値、エラー情報が得られます) 図2.14.21 連続誤り訂正シーケンス なお、本動作については、ハミング8/4の回路を一部使用しておりますので、本動作を同時に使用 できません。 ハミング回路を使用する場合はハミングデータセット後に、デコード結果読み出し動作をすぐに行 い、デコード結果読み出し前に他のメモリ(ハミング回路を含む)へのアクセスを行わないで下さい。 Rev.1.00 2004.03.01 page 228 of 311 M306H3MC-XXXFP/FCFP 2.14.9 拡張機能用端子の入出力構成 拡張機能用端子の構成を、図2.14.22、図2.14.23に示します。 VCC CVIN1 スライサへ 入力 (注2) VSS SYNCIN 内部回路から 内部回路へ VDD2 VCC 内部回路から 入力 (注2) 内部回路へ VSS VSS2 P11/SLICEON VCC 内部回路から VCC 出力 (注2) PTD8 VSS (注1) PTC8 (注1) VDD2 LP2、LP3、LP4 VCC 内部回路から 出力 (注2) VSS VSS2 内部回路へ 注1. 拡張レジスタ構成(アドレス3516番地)を参照下さい。 注2. は寄生ダイオードです。 各ポートへの印加電圧はV CCを越えないようにしてください。 図2.14.22 拡張機能用端子の構成(1) Rev.1.00 2004.03.01 page 229 of 311 VSS M306H3MC-XXXFP/FCFP VCC FSCIN 内部回路へ 入力 (注1) 内部回路から VSS VSS2 VDD2 SVREF VCC 内部回路から 入力 (注1) 内部回路へ VSS VSS2 VCC START 内部回路へ 入力 VSS 注1. は寄生ダイオードです。 各ポートへの印加電圧はV CCを越えないようにしてください。 図2.14.23 拡張機能用端子の構成(2) Rev.1.00 2004.03.01 page 230 of 311 M306H3MC-XXXFP/FCFP 2.15 プログラマブル入出力ポート プログラマブル入出力ポート(以下、入出力ポートと称す)は、P0∼P10(P85は除く)の87本あります。各 ポートの入出力は、方向レジスタによって1本ごとに設定できます。また、4本ごとに、プルアップする ________ かしないかを選択できます。P85は入力専用でプルアップ抵抗はありません。ポートP85はNMIと端子を ________ 共用していますので、NMI入力レベルをP8レジスタのP8_5ビットから読めます。 図2.15.1∼図2.15.5に入出力ポートの構成、図2.15.6に端子の構成を示します。 各端子は、入出力ポート、周辺機能の入出力、またはバス制御端子として機能します。 周辺機能の設定方法は、各機能説明を参照してください。周辺機能の入力端子として使用する場合は、 対応する端子の方向ビットを“0”(入力モード)にしてください。周辺機能の出力端子として使用する場 合は、方向ビットに関係なく周辺機能の出力となります。 バス制御端子として使用する場合は、「バス制御」を参照してください。 (1) ポートPi方向レジスタ(PDiレジスタ i=0∼10) 図2.15.7にPDiレジスタを示します。 入出力ポートを入力に使用するか、出力に使用するか選択するためのレジスタです。このレジスタの 各ビットは、ポート1本ずつに対応しています。 _______ _______ メモリ拡張モードまたはマイクロプロセッサモードでは、バス制御端子(A0∼A19、D0∼D15、CS0∼CS3、 ______ ________ ______ _________ ________ ________ ___________ ___________ RD、WRL / WR、WRH / BHE、ALE、RDY、HOLD、HLDA、BCLK)になっている端子のPDiレジスタ は変更できません。 なお、P85に対応する方向レジスタのビットはありません。 (2) ポートPiレジスタ(Piレジスタ i=0∼10) 図2.15.8にPiレジスタを示します。 外部とのデータ入出力は、Piレジスタへの読み出しと書き込みによって行います。Piレジスタは、出 力データを保持するポートラッチと端子の状態を読む回路で構成されています。入力モードに設定して いるポートのPiレジスタを読むと端子の入力レベルが読め、書くとポートラッチに書きます。 出力モードに設定しているポートのPiレジスタを読むとポートラッチを読み、書くとポートラッチに 書きます。ポートラッチに書いた値は端子から出力されます。Piレジスタの各ビットは、ポート1本ずつ に対応しています。 _______ _______ メモリ拡張モードまたはマイクロプロセッサモードでは、バス制御端子(A0∼A19、D0∼D15、CS0∼CS3、 ______ ________ ______ _________ ________ ________ ___________ ___________ RD、WRL / WR、WRH / BHE、ALE、RDY、HOLD、HLDA、BCLK)になっている端子のPiレジスタは 変更できません。 (3) プルアップ制御レジスタ0∼プルアップ制御レジスタ2(PUR0∼PUR2レジスタ) 図2.15.9にPUR0∼PUR2レジスタを示します。 PUR0∼PUR2レジスタの各ビットによって、4端子ごとにプルアップするかしないかを選択できます。 プルアップするを選択したポートは、方向ビットを入力モードに設定したときにプルアップ抵抗が接続 されます。 ただし、メモリ拡張モード、マイクロプロセッサモード時は、P0∼P3、P40∼P43、P5はプルアップ制 御レジスタは無効です。レジスタの内容は変更できますが、プルアップ抵抗は接続されません。 (4) ポート制御レジスタ(PCRレジスタ) 図2.15.10にPCRレジスタを示します。 PCRレジスタのPCR0ビットを“1”にしてP1レジスタを読むと、PD1レジスタの設定にかかわらず、対 応するポートラッチを読みます。 Rev.1.00 2004.03.01 page 231 of 311 M306H3MC-XXXFP/FCFP プルアップ選択 方向レジスタ P00∼P07、P20∼P27 P30∼P37、P40∼P47、 P50∼P54、P56 データバス ポートラッチ (注1) プルアップ選択 方向レジスタ P10∼P14 ポートP1制御レジスタ データバス ポートラッチ (注1) プルアップ選択 方向レジスタ P15∼P17 ポートP1制御レジスタ データバス ポートラッチ (注1) 各周辺機能への入力 プルアップ選択 方向レジスタ P57、P60、P64、P73∼P76、P80、 P81、P90、P92 “1” 出力 データバス ポートラッチ (注1) 各周辺機能への入力 注1. は寄生ダイオードです。 各ポートへの入力電圧はVCCを超えないようにしてください。 図2.15.1. 入出力ポートの構成(1) Rev.1.00 2004.03.01 page 232 of 311 M306H3MC-XXXFP/FCFP プルアップ選択 方向レジスタ P61、P65、P72 “1” 出力 データバス ポートラッチ (注1) CMOS/Nch切り替え 各周辺機能への入力 プルアップ選択 P82∼P84 方向レジスタ データバス ポートラッチ (注1) 各周辺機能への入力 プルアップ選択 方向レジスタ P55、P77、P91、P97 データバス ポートラッチ (注1) 各周辺機能への入力 注1. は寄生ダイオードです。 各ポートへの入力電圧はVCCを超えないようにしてください。 図2.15.2. 入出力ポートの構成(2) Rev.1.00 2004.03.01 page 233 of 311 M306H3MC-XXXFP/FCFP プルアップ選択 方向レジスタ P62、P66 データバス ポートラッチ (注1) CMOS/Nch切り替え 各周辺機能への入力 プルアップ選択 方向レジスタ P63、P67 “1” 出力 データバス ポートラッチ (注1) CMOS/Nch切替 P85 データバス (注1) NMI割り込み入力 方向レジスタ P70、P71 “1” 出力 データバス ポートラッチ (注2) 各周辺機能への入力 注1. は寄生ダイオードです。 各ポートへの入力電圧はVCCを超えないようにしてください。 注2. 図2.15.3. 入出力ポートの構成(3) Rev.1.00 2004.03.01 page 234 of 311 は寄生ダイオードです。 M306H3MC-XXXFP/FCFP プルアップ選択 P100∼P103 (破線枠内なし) P104∼P107 (破線枠内あり) 方向レジスタ データバス ポートラッチ (注1) アナログ入力 各周辺機能への入力 プルアップ選択 方向レジスタ P93、P94 データバス ポートラッチ (注1) 各周辺機能への入力 プルアップ選択 方向レジスタ P96 “1” 出力 データバス ポートラッチ (注1) アナログ入力 プルアップ選択 方向レジスタ P95 “1” 出力 データバス ポートラッチ (注1) 各周辺機能への入力 アナログ入力 注1. は寄生ダイオードです。 各ポートへの入力電圧はVCCを超えないようにしてください。 図2.15.4. 入出力ポートの構成(4) Rev.1.00 2004.03.01 page 235 of 311 M306H3MC-XXXFP/FCFP プルアップ選択 方向レジスタ P87 データバス ポートラッチ (注1) fc Rf プルアップ選択 Rd 方向レジスタ P86 “1” 出力 データバス ポートラッチ (注1) 注1. は寄生ダイオードです。 各ポートへの入力電圧はVCCを超えないようにしてください。 図2.15.5. 入出力ポートの構成(5) (注2) BYTE BYTE信号入力 (注1) (注2) CNVSS CNVSS信号入力 (注1) RESET RESET信号入力 (注1) 注1. は寄生ダイオードです。 各端子への入力電圧はVCCを超えないようにしてください。 注2. マスクROM版にのみVCC側の寄生ダイオードが付加されています。 各端子への入力電圧はVCCを超えないようにしてください。 図2.15.6. 端子の構成 Rev.1.00 2004.03.01 page 236 of 311 M306H3MC-XXXFP/FCFP ポートPi方向レジスタ(i=0∼7、9∼10)(注1、注2) b7 b6 b5 b4 b3 b2 b1 シンボル PD0∼PD3 PD4∼PD7 PD9∼PD10 b0 アドレス 03E216、03E316、03E616、03E716番地 03EA16、03EB16、03EE16、03EF16番地 03F316、03F616 番地 リセット後の値 0016 0016 0016 PDi_0 ビット 名 ポートPi0方向ビット PDi_1 ポートPi1方向ビット PDi_2 ポートPi2方向ビット PDi_3 ポートPi3方向ビット PDi_4 ポートPi4方向ビット PDi_5 ポートPi5方向ビット RW PDi_6 ポートPi6方向ビット RW PDi_7 ポートPi7方向ビット RW ビットシンボル 機 能 RW RW 0:入力モード (入力ポートとして機能) 1:出力モード (出力ポートとして機能) (i=0∼7、9∼10) RW RW RW RW 注1. PD9レジスタは、PRCRレジスタのPRC2ビットを“1”(書き込み許可)にした次の命令で書いてください。 注2. メモリ拡張モードまたはマイクロプロセッサモードでは、バス制御端子(A0∼A19、D0∼D15、CS0∼CS3、 RD、WRL / WR、WRH / BHE、ALE、RDY、HOLD、HLDA、BCLK)になっている端子のPDレジスタは変更 できません。 ポートP8方向レジスタ b7 b6 b5 b4 b3 b2 b1 シンボル PD8 b0 ビットシンボル ポートP80方向ビット PD8_1 ポートP81方向ビット PD8_2 ポートP82方向ビット PD8_3 ポートP83方向ビット PD8_4 ポートP84方向ビット ポートP86方向ビット PD8_7 ポートP87方向ビット page 237 of 311 機 能 RW RW 0:入力モード (入力ポートとして機能) 1:出力モード (出力ポートとして機能) RW RW RW RW 何も配置されていない。 書く場合、“0”を書いてください。読んだ場合、その値は不定。 PD8_6 図2.15.7. PD0∼PD10レジスタ 2004.03.01 ビット名 PD8_0 (b5) Rev.1.00 アドレス リセット後の値 03F216番地 00X000002 0:入力モード (入力ポートとして機能) 1:出力モード (出力ポートとして機能) RW RW M306H3MC-XXXFP/FCFP ポートPiレジスタ(i=0∼7、9∼10)(注1、注2) b7 b6 b5 b4 b3 b2 b1 b0 シンボル P0∼P3 P4∼P7 P9∼P10 ビットシンボル アドレス 03E016、03E116、03E416、03E516番地 03E816、03E916、03EC16、03ED16番地 03F116、03F416 番地 ビット名 Pi_0 ポートPi0ビット Pi_1 ポートPi1ビット Pi_2 ポートPi2ビット Pi_3 ポートPi3ビット Pi_4 ポートPi4ビット Pi_5 ポートPi5ビット Pi_6 ポートPi6ビット Pi_7 ポートPi7ビット リセット後の値 不定 不定 不定 機 能 能 入力モードに設定した入出力ポート に対応するビットを読むと、端子の レベルが読める。 出力モードに設定した入出力ポート に対応するビットに書くと、端子の レベルを制御できる 0:“L”レベル 1:“H”レベル(注1) (i=0∼7、9∼10) RW RW RW RW RW RW RW RW RW 注1. P70、P71はNチャネルオープンドレインポートのため、ハイインピーダンスとなります。 注2. メモリ拡張モードまたはマイクロプロセッサモードでは、バス制御端子(A0∼A19、D0∼D15、CS0∼CS3、RD、WRL / WR、WRH / BHE、ALE、RDY、HOLD、HLDA、BCLK)になっている端子のPiレジスタは変更できません。 ポートP8レジスタ b7 b6 b5 b4 b3 b2 b1 b0 シンボル P8 ビットシンボル 2004.03.01 ビット名 P8_0 ポートP80ビット P8_1 ポートP81ビット P8_2 ポートP82ビット P8_3 ポートP83ビット P8_4 ポートP84ビット P8_5 ポートP85ビット P8_6 ポートP86ビット P8_7 ポートP87ビット 図2.15.8. P0∼P10レジスタ Rev.1.00 アドレス 03F016番地 page 238 of 311 リセット後の値 不定 機 能 能 入力モードに設定した入出力ポートに 対応するビットを読むと、端子のレベ ルが読める。 出力モードに設定した入出力ポートに 対応するビットに書くと、端子のレベ ルを制御できる(P85は除く) 0:“L”レベル 1:“H”レベル RW RW RW RW RW RW RO RW RW M306H3MC-XXXFP/FCFP プルアップ制御レジスタ0(注1) b7 b6 b5 b4 b3 b2 b1 b0 シンボル PUR0 アドレス 03FC16番地 ビット名 ビットシンボル PU00 P00∼P03のプルアップ PU01 P04∼P07のプルアップ リセット後の値 0016 機 能 RW 0 : プルアップなし 1 : プルアップあり(注2) RW RW PU02 P10∼P13のプルアップ RW PU03 P14∼P17のプルアップ RW PU04 P20∼P23のプルアップ RW PU05 P24∼P27のプルアップ RW PU06 P30∼P33のプルアップ RW PU07 P34∼P37のプルアップ RW 注1. メモリ拡張モード時またはマイクロプロセッサモード時、レジスタの内容は変更できますが、プルアップされません。 注2. このビットが“1”(プルアップあり)でかつ方向ビットが“0”(入力モード)の端子がプルアップされます。 プルアップ制御レジスタ1 b7 b6 b5 b4 b3 b2 b1 b0 シンボル PUR1 アドレス 03FD16番地 ビット名 ビットシンボル PU10 P40∼P43のプルアップ(注2) リセット後の値(注5) 000000002 000000102 機 能 0 : プルアップなし 1 : プルアップあり(注3) RW RW RW PU11 P44∼P47のプルアップ(注4) PU12 P50∼P53のプルアップ(注2) RW PU13 P54∼P57のプルアップ(注2) RW PU14 P60∼P63のプルアップ RW PU15 P64∼P67のプルアップ PU16 P72∼P73のプルアップ (注1) RW RW PU17 P74∼P77のプルアップ RW 注1. P70、P71端子は、プルアップはありません。 注2. メモリ拡張モード時またはマイクロプロセッサモード時、このビットの内容は変更できますが、プルアップされません。 注3. このビットが“1”(プルアップあり)でかつ方向ビットが“0”(入力モード)の端子がプルアップされます。 注4. シングルチップモード時、プログラムでPM01∼PM00ビットを“012”(メモリ拡張モード)または“112”(マイクロプロ セッサモード)にすると、PU11ビットが“1”になります。 注5. ハードウエアリセットでは次のようになります。 ・CNVSS端子に“L”を入力している場合、“000000002” ・CNVSS端子に“H”を入力している場合、“000000102” (フラッシュメモリ版では、CNVSS端子及びM1端子に“H”を入力している場合。) ソフトウエアリセット、または監視タイマリセットでは次のようになります。 ・PM0レジスタのPM01∼PM00ビットが“00 2”(シングルチップモード)の場合、“000000002” ・PM0レジスタのPM01∼PM00ビットが“01 2”(メモリ拡張モード)または“112”(マイクロプロセッサモード)の場合、 “000000102” プルアップ制御レジスタ2 b7 b6 b5 b4 b3 b2 b1 b0 シンボル PUR2 アドレス 03FE16番地 ビット名 ビットシンボル PU20 P80∼P83のプルアップ PU21 P84∼P87のプルアップ (注2) リセット後の値 0016 機 能 0 : プルアップなし 1 : プルアップあり(注1) RW PU22 P90∼P93のプルアップ RW P94∼P97のプルアップ RW PU24 P100∼P103のプルアップ PU25 P104∼P107のプルアップ RW RW (b7-b6) 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は“0”。 図2.15.9. PUR0∼PUR2レジスタ 2004.03.01 RW PU23 注1. このビットが“1”(プルアップあり)でかつ方向ビットが“0”(入力モード)の端子がプルアップされます。 注2. P85端子は、プルアップはありません。 Rev.1.00 RW page 239 of 311 M306H3MC-XXXFP/FCFP ポート制御レジスタ b7 b6 b5 b4 b3 b2 b1 b0 シンボル PCR ビットシンボル PCR0 (b7-b1) 図2.15.10. PCRレジスタ Rev.1.00 2004.03.01 page 240 of 311 アドレス 03FF16番地 ビット名 ポートP1制御ビット リセット後の値 0016 機 能 P1レジスタを読んだ場合の動作 0:入力ポートのとき、P10∼P17端子 の入力レベルを読む 出力ポートのとき、ポートラッチ を読む 1:入力ポート、出力ポートにかかわ らず、ポートラッチを読む 何も配置されていない。書く場合、“0”を書いてください。 読んだ場合、その値は“0”。 RW RW M306H3MC-XXXFP/FCFP 表2.15.1. シングルチップモード時の未使用端子の処理例 端 子 名 処 理 内 容 ポートP0∼P7、P80∼P84、 P86∼P87、P9∼P10 入力モードに設定し、端子ごとに抵抗を介してVSSに接続(プルダウン) するか、または出力モードに設定し、端子を開放(注1、注2、注3) XOUT(注4) 開放 NMI (P85) 抵抗を介してVCCに接続(プルアップ) AVCC VCCに接続 AVSS、VREF、BYTE VSSに接続 注1. 出力モードに設定し、開放する場合、リセットからプログラムによってポートを出力モードに切り 替えるまでは、ポートは入力モードになっています。そのため、端子の電圧レベルが不定となり、 ポートが入力モードになっている期間、電源電流が増加する場合があります。 また、ノイズやノイズによって引き起こされる暴走などによって、方向レジスタの内容が変化する 場合を考慮し、ソフトウエアで定期的に方向レジスタの内容を再設定した方がプログラムの信頼性が 高くなります。 注2. 未使用端子の処理は、マイクロコンピュータの端子からできるだけ短い配線(2cm 以内)で処理して ください。 注3. ポートP70 、P71 を出力モードに設定する場合は“L ”を出力してください。 ポートP70 、P71 はN チャネルオープンドレイン出力です。 注4. XIN 端子に外部クロックを入力している場合。 表2.15.2. メモリ拡張モード、マイクロプロセッサモード時の未使用端子の処理例 端 子 名 処 理 内 容 ポートP0∼P7、P80∼P84、 P86∼P87、P9∼P10 入力モードに設定し、端子ごとに抵抗を介してVSSに接続(プルダウン) するか出力モードに設定し、端子を開放(注1、注2、注3、注4) P45/CS1∼P47/CS3 PD4レジスタのCSi(i=1∼3)に対応する方向ビットを“0”(入力モード)、 CSRレジスタのCSiビットを“0”(チップセレクト禁止)にし、抵抗を介 してVCCに接続(プルアップ) BHE、ALE、HLDA、XOUT(注5)、 BCLK(注6) 開放 HOLD、RDY、NMI 抵抗を介してVCCに接続(プルアップ) AVCC VCCに接続 AVSS、VREF VSSに接続 注1. 出力モードに設定し、開放する場合、リセットからプログラムによってポートを出力モードに切り替えるまで は、ポートは入力モードになっています。そのため、端子の電圧レベルが不定となり、ポートが入力モードに なっている期間、電源電流が増加する場合があります。 また、ノイズやノイズによって引き起こされる暴走などによって、方向レジスタの内容が変化する場合を考慮 し、ソフトウエアで定期的に方向レジスタの内容を再設定した方がプログラムの信頼性が高くなります。 注2. 未使用端子の処理は、マイクロコンピュータの端子からできるだけ短い配線(2cm 以内)で処理してください。 注3. CNVSS 端子にVSS レベルを印加している場合、リセットからプログラムによってプロセッサモードを切り替え るまでは、これらの端子は入力ポートになっています。そのため、端子の電圧レベルが不安定となり、これら の端子が入力ポートになっている期間、電源電流が増加する場合があります。 注4. ポートP70 、P71 を出力モードに設定する場合は“L ”を出力してください。 ポートP70 、P71 はN チャネルオープンドレイン出力です。 注5. XIN 端子に外部クロックを入力している場合。 注6. PM0 レジスタのPM07 ビットを“1 ”(BCLK 出力しない)にした場合、抵抗を介してVCC に接続(プルアップ) してください。 Rev.1.00 2004.03.01 page 241 of 311 M306H3MC-XXXFP/FCFP マイクロコンピュータ マイクロコンピュータ ポートP0∼P10 (入力モード) ・ (P85は除く) ・ ポートP6∼P10( (入力モード) ・ P85は除く) ・ ・ ・ ・ ・ (入力モード) (出力モード) ・ ・ ・ ・ (入力モード) (出力モード) 開放 NMI ポートP45/CS1 BHE ∼P47/CS3 HLDA ALE XOUT BCLK(注1) NMI XOUT 開放 VCC AVCC 開放 開放 VCC HOLD BYTE RDY AVSS AVCC VREF AVSS VREF VSS シングルチップモード時 VSS メモリ拡張モード時 マイクロプロセッサモード時 注1. PM0レジスタのPM07ビットを“1”(BCLK出力しない)にした場合、抵抗を介してVCCに接続(プルアップ)してください。 図2.15.12. 未使用端子の処理例 Rev.1.00 2004.03.01 page 242 of 311 M306H3MC-XXXFP/FCFP 3. 電気的特性 表3.1. 絶対最大定格 記 号 項 VCC 電源電圧 AVCC アナログ電源電圧 入力電圧 VI 目 条 件 定 格 値 単位 VCC =AVCC −0.3∼5.75 V VCC =AVCC −0.3∼5.75 V −0.3∼VCC +0.3 V RESET, CNVSS, BYTE, P00∼P07, P10∼P17, P20∼P27, P30∼P37, P40∼P47, P50∼P57, P60∼P67, P72∼P77, P80∼P87, P90∼P97, P100∼P107 VREF, XIN, M1, START P70, P71 出力電圧 VO P00∼P07, P10∼P17, P20∼P27, P30∼P37, P40∼P47, P50∼P57, P60∼P67, P72∼P77, P80∼P84, P86, P87, P90∼P97, P100∼P107, P11 XOUT V −0.3∼VCC +0.3 V −0.3∼5.75 V 900 mW 動作周囲温度 −20∼ 70 ℃ 保存温度 −20∼125 ℃ P70, P71 Pd 消費電力 Topr Tstg Rev.1.00 −0.3∼5.75 2004.03.01 page 243 of 311 Topr=25 ℃ M306H3MC-XXXFP/FCFP 表3.2. 推奨動作条件(注1) 記 号 項 目 最 小 4.75 VCC 電源電圧 AVcc アナログ電源電圧 Vss 電源電圧 AVss アナログ電源電圧 "H"入力電圧 P31∼P37, P40∼P47, P50∼P57 0 P70, P71 "L "入力電圧 P31∼P37, P40∼P47, P50∼P57 0.8VCC VCC V V 0.8VCC VCC V 0.5VCC VCC V 0.8VCC VCC V 5.75 V 0.2VCC V P00∼P07, P10∼P17, P20∼P27, P30 (シングルチップモード時) 0 0.2VCC V P00∼P07, P10∼P17, P20∼P27, P30 (メモリ拡張、マイクロプロセッサモード時のデータ入力) P60∼P67, P70∼P77, P80∼P87, P90∼P97, P100∼P107, 0 0.16VCC V XIN, RESET, CNVSS, BYTE, M1, START 0 0.2VCC 複合ビデオ入力電圧 CVIN、SYNCIN I OH (peak) "H"尖頭出力電流 (注2、3) P00∼P07, P10∼P17, P20∼P27,P30∼P37, P40∼P47, P50∼P57, P60∼P67,P72∼P77, P80∼P84,P86,P87,P90∼P97,P100∼P107, P11 P00∼P07, P10∼P17, P20∼P27,P30∼P37, P40∼P47, P50∼P57, P60∼P67,P72∼P77, P80∼P84,P86,P87,P90∼P97,P100∼P107, P11 P00∼P07, P10∼P17, P20∼P27,P30∼P37, P40∼P47, P50∼P57, P60∼P67,P70∼P77, P80∼P84,P86,P87,P90∼P97,P100∼P107, P11 P00∼P07, P10∼P17, P20∼P27,P30∼P37, P40∼P47, P50∼P57, P60∼P67,P70∼P77, P80∼P84,P86,P87,P90∼P97,P100∼P107, P11 "H"平均出力電流 I OH (avg) "L "尖頭出力電流 I OL (peak) "L "平均出力電流 I OL (avg) 0.8VCC 2VP-P f (XIN) メインクロック入力発振周波数 (注4) VCC=4.75∼5.25V f (XCIN) サブクロック発振周波数 VCC=2.60∼5.25V(注5) f (BCLK) CPU動作周波数 0 32.768 0 注5. 低消費電力モードで使用してください。低電圧(VCC=3.0V)で動作を行う場合、シングルチップモードのみ使用できます。 page 244 of 311 V V −10.0 mA −5.0 mA 10.0 mA 5.0 mA 10 MHz 50 kHz 10 MHz 注1. 指定のない場合は、VCC=4.75∼5.25V、Topr=−20∼70℃ です。 注2. 平均出力電流は100msの期間内での平均値です。 注3. ポートP0, P1, P2, P86, P87, P9, P10, P11 のIOL(peak)の合計は80mA以下、ポートP3, P4, P5, P6, P7, P80∼P84 のIOL(peak)の合計 は80mA以下、ポートP0, P1, P2のIOH(peak)の合計は−40mA以下、ポートP3, P4, P5 のIOH(peak)の合計は−40mA以下、ポートP6, P7, P80∼P84のIOH(peak)の合計は−40mA以下、ポートP86, P87, P9, P10, P11 のIOH(peak)の合計は−40mA以下にしてください。 注4. フラッシュメモリの書き込み/消去は、VCC =5.0V±0.25V で行ってください。 2004.03.01 V 0 VCVIN Rev.1.00 単位 V V 0 XIN, RESET, CNVSS, BYTE, M1, START VIL 5.25 5.0 VCC P00∼P07, P10∼P17, P20∼P27, P30 (シングルチップモード時) P00∼P07, P10∼P17, P20∼P27, P30 (メモリ拡張、マイクロプロセッサモード時のデータ入力) P60∼P67, P72∼P77, P80∼P87, P90∼P97, P100∼P107, VIH 規 格 値 標 準 最 大 M306H3MC-XXXFP/FCFP 表3.3. A-D変換特性(注1) 記 号 – – 項 目 分解能 規 格 値 単位 最 小 標 準 最 大 測 定 条 件 VREF =VCC AN0∼AN7入 力 VREF= VCC = 5V 絶対精度 RLADDER tCONV tSAMP VREF ラダー抵抗 変換時間(8bit)、サ ンプル&ホールド機能あり サンプリング時間 基準電圧 VIA アナログ入力電圧 ANE X0、ANEX1入力 外部オペアンプ接続モード VREF =VCC VREF =VCC =5V、φA D=10MHz 8 ±3 Bits LSB ±4 LSB 40 10 2.8 0 .3 4.75 VCC kΩ μs μs V 0 VREF V 注1. 指定のない場合は、VCC =AVCC=VREF=4.75∼5.25V、VSS=AVSS=0V、Topr=−20∼70℃です。 注2. AD動作クロックの周波数(φA Dの周波数)は10MHz以下にしてください。 注3. サンプル&ホールド機能なしのときは、 φA Dの周波数は250kHz以上にしてください。 サンプル&ホールド機能ありのときは、 φA Dの周波数は1MHz以上にしてください。 表3.4. フラッシュメモリの電気的特性(注1) 記号 項 目 最 小 規 格 値 標 準 最 大 − ワードプログラム時間 30 200 − ブロックイレーズ時間 1 4 − イレーズ全アンロックブロック時間 − ロックビットプログラム時間 tps フラッシュメモリ回路安定待ち時間 単位 μs s 1×n 4×n 30 200 μs 15 μs s 注1. 指定のない場合は、VCC = 4.75∼5.25V、Topr=0∼60℃です。 注2. nはイレーズするブロック数です。 表3.5. フラッシュメモリの書き込み/消去電圧と読み出し動作電圧特性 (Topr=0∼60℃) フラッシュ書き込み、消去電圧 VCC =5.0±0.25 フラッシュ読み出し動作電圧 VCC =2.60∼5.25 表3.6. 電源回路のタイミング特性 記 号 測 定 条 件 項 目 td(P-R) 電源投入時内部電源安定時間 td(R-S) STOP解除時間 td(W-S) 低消費電力モードウエイトモード解除時間 td(M-L) メインクロック発振開始時内部電源安定時間 (注1) 最 小 VCC = 5.0V 注1. XIN-XOUT発振の場合 ストップモードを 解除するための 割り込み CPUクロック td(R-S) Rev.1.00 2004.03.01 page 245 of 311 規 格 値 標 準 最 大 単位 2 ms 150 μs 150 μs 50 μs M306H3MC-XXXFP/FCFP VCC = 5V 表3.7. 電気的特性(1)(注1) 記 号 測 定 条 件 項 目 最 小 P00∼P07,P10∼P17,P20∼P27,P30∼P37, P40∼P47,P50∼P57 P60∼P67,P72∼P77,P80∼P84,P86,P87,P90∼P97, P100∼P107,P11 "H"出力電圧 VOH "H"出力電圧 P00∼P07,P10∼P17,P20∼P27,P30∼P37, P40∼P47,P50∼P57 P60∼P67,P72∼P77,P80∼P84,P86,P87,P90∼P97, P100∼P107,P11 VOH VOH "H"出力電圧 XOUT "H"出力電圧 XCOUT VOL "L "出力電圧 LP2∼LP4 VOL "L"出力電圧 "L"出力電圧 XOUT XCOUT ヒステリシス VT+-VT- VT+-VT- I IH I IL RPULLUP VCC V V 3.75 VCC LOWPOWER IOH=−0.5mA VCC −2.0 VCC HIGHPOWER 無負荷時 2.5 LOWPOWER 無負荷時 1.6 IOL=5mA 2.0 V IOL=200μA 0.45 V VCC=4.75V, IOL=0.05mA 0.4 IOL=1mA 2.0 LOWPOWER IOL=0.5mA HIGHPOWER 無負荷時 0 LOWPOWER 無負荷時 0 HOLD, RDY, TA0IN∼TA4IN, TB0IN∼TB5IN, INT0∼INT5, NMI, ADTRG, CTS0∼CTS2, SCL, SDA, CLK0∼CLK4,TA2OUT∼TA4OUT, KI0∼KI3, RxD0∼RxD2, SIN3, SIN4 P00∼P07,P10∼P17,P20∼P27,P30∼P37, P40∼P47,P50∼P57,P60∼P67,P70∼P77, P80∼P87,P90∼P97,P100∼P107 XIN, RESET, CNVss, BYTE, M1, START V V HIGHPOWER P00∼P07,P10∼P17,P20∼P27,P30∼P37, P40∼P47,P50∼P57,P60∼P67,P72∼P77, P80∼P84,P86,P87,P90∼P97,P100∼P107, プルアップ 抵抗 VCC −0.3 VCC −2.0 ヒステリシス RESET P00∼P07,P10∼P17,P20∼P27,P30∼P37, "H"入力電流 P40∼P47,P50∼P57,P60∼P67,P70∼P77, P80∼P87,P90∼P97,P100∼P107 XIN, RESET, CNVss, BYTE, M1, START "L"入力電流 IOH=−200μA IOH=−1mA P00∼P07,P10∼P17,P20∼P27,P30∼P37, P40∼P47,P50∼P57 P60∼P67,P72∼P77,P80∼P84,P86,P87,P90∼P97, P100∼P107,P11 "L"出力電圧 VOL 単位 VCC HIGHPOWER P00∼P07,P10∼P17,P20∼P27,P30∼P37, P40∼P47,P50∼P57 P60∼P67,P72∼P77,P80∼P84,P86,P87,P90∼P97, P100∼P107,P11 "L"出力電圧 VOL VCC −2.0 最 大 V VCC=4.75V, IOH=−0.05mA "H"出力電圧 LP2∼LP4 VOH IOH=−5mA 規 格 値 標 準 2.0 V V V 0.2 1.0 V 0.2 2.2 V VI=5V 5.0 μA VI=0V −5.0 μA 170 kΩ VI=0V 30 50 RfXIN 帰還抵抗 XIN RfXCIN 帰還抵抗 XCIN VRAM RAM保持電圧 VSYNCIN 垂直同期信号振幅 0.3 0.6 1.2 Vdat(text) テレテキスト信号振幅 0.6 0.9 1.4 V 14.6 15.625 17.0 KHz fH 1.5 ストップモード時 水平同期信号周波数 注1. 指定のない場合は、VCC= 4.75 ∼5.25 V、VSS=0V、Topr=−20∼70℃、f(BCLK)=10MHzです。 Rev.1.00 2004.03.01 MΩ 15 page 246 of 311 MΩ 2.0 V V M306H3MC-XXXFP/FCFP VCC=3V 表3.8. 電気的特性(2)(注1) 記 号 "H"出力電圧 P00∼P07,P10∼P17,P20∼P27,P30∼P37, P40∼P47,P50∼P57,P60∼P67,P72∼P77, P80∼P84,P86,P87,P90∼P97,P100∼P107, P11 VOH VOH "H"出力電圧 XCOUT "L"出力電圧 "L"出力電圧 XCOUT ヒステリシス RfXCIN 2.5 無負荷時 1.6 HIGHPOWER 無負荷時 0 LOWPOWER 無負荷時 0 RESET 0.2 P00∼P07,P10∼P17,P20∼P27,P30∼P37, P40∼P47,P50∼P57,P60∼P67,P70∼P77, P80∼P87,P90∼P97,P100∼P107, XIN, RESET, CNVss, BYTE, M1, START P00∼P07,P10∼P17,P20∼P27,P30∼P37, P40∼P47,P50∼P57,P60∼P67,P70∼P77, P80∼P87,P90∼P97,P100∼P107, XIN, RESET, CNVss, BYTE, M1, START プルアップ抵抗 帰還抵抗 P00∼P07,P10∼P17,P20∼P27,P30∼P37, P40∼P47,P50∼P57,P60∼P67,P72∼P77, P80∼P84,P86,P87,P90∼P97,P100∼P107, 2004.03.01 V V V 1.8 V VI=3V 4.0 μA VI=0V −4.0 μA 500 kΩ VI=0V XCIN page 247 of 311 V 0.8 注1. 指定のない場合は、VCC=3.0V、VSS=0V、Topr=−20∼70℃、f(XCIN)=32KHzです。 シングルチップモード、低消費電力モードで使用してください。 Rev.1.00 単位 V 0.5 IOL=1mA "H"入力電流 "L"入力電流 RPULLUP 無負荷時 ヒステリシス IIL 最 大 VCC HIGHPOWER 0.2 IIH 標 準 VCC−0.5 TA0 IN∼TA4IN, TB0IN∼TB5IN, INT0∼INT5 TA2 OUT∼TA4OUT, KI0∼KI3 VT+-VTVT+-VT- IOH=−1mA 規 格 値 最 小 LOWPOWER P00∼P07,P10∼P17,P20∼P27,P30∼P37, P40∼P47,P50∼P57,P60∼P67,P70∼P77, P80∼P84,P86,P87,P90∼P97,P100∼P107, P11 VOL VOL 測 定 条 件 項 目 50 (0.7) 100 25 MΩ M306H3MC-XXXFP/FCFP 表3.9. 電気的特性(3)(注1) 記 号 測 定 条 件 項 目 最 小 シングルチップモードで、 出力端子は開放、その他の 端子はVss f(BCLK)=10MHz VCC=5.0V f(BCLK)=10MHz フラッシュメモリ VCC=5.0V マスクROM 最 大 50 100 50 100 単位 mA mA フラッシュメモリ f(BCLK)=10MHz プログラム VCC=5.0V 15 mA フラッシュメモリ f(BCLK)=10MHz イレーズ VCC=5.0V 25 mA 25 μA 25 μA 420 μA f(BCLK)=32kHz ウエイトモード時(注2), (注4) 発振能力High, VCC=5.0V 7.5 μA f(BCLK)=32kHz ウエイトモード時(注2), (注4) 発振能力Low, VCC=5.0V 5.0 f(XCIN)=32kHz 低消費電力モード時 ROM上(注3), (注4) マスクROM ICC 規 格 値 標 準 電源電流 フラッシュメモリ VCC=5.0V f(BCLK)=32kHz 低消費電力モード時 RAM上(注3), (注4) VCC=5.0V f(BCLK)=32kHz 低消費電力モード時 フラッシュメモリ上(注3), (注4) VCC=5.0V マスクROM、 フラッシュメモリ f(BCLK)=32kHz ウエイトモード時(注2), (注4) 発振能力High, VCC=3.0V 10.0 μA μA 6.0 f(BCLK)=32kHz ウエイトモード時(注2), (注4) 発振能力Low, VCC=3.0V 2.0 8.0 μA ストップモード時 (注4) Topr=25℃ VCC=5.0V 0.8 5.0 μA 注1. 指定のない場合は、VCC=5V、VSS=0V、Topr= 25 ℃、 f(BCLK)=10MHzです。 注2. fC32にてタイマ1本を動作させている状態です。(スライサ動作OFF) 注3. 実行するプログラムが存在するメモリを示す。 注4. ・VDD2, VDD3は全てVCCと同電位。 ・拡張レジスタ(アドレス3516 DD13)STBY1と(アドレス3316 DD11)STBY0を“1”に設定し、その他の拡張レジスタ(アドレス0016∼3616)は初期状態に設定。 ・FSCIN端子へのクロック入力は停止。 ・SYNCIN端子、CVIN1端子への入力は停止。 表3.10. ビデオ信号入力条件(注1) 記 号 項 目 測 定 条 件 最 小 VIN-CU 複合ビデオ信号入力クランプ電圧 注1. 指定のない場合は、VCC=5.0V、Topr=−20∼70℃です。 Rev.1.00 2004.03.01 page 248 of 311 シンクチップ電圧 規 格 値 標 準 1.0 最 大 単位 V M306H3MC-XXXFP/FCFP VCC = 5V タイミング必要条件 (指定のない場合は、VCC=5V、VSS=0V、Topr=−20∼70℃) 表3.11. 外部クロック入力(XIN入力) 規 格 値 記 号 項 目 外部クロック入力サイクル時間 tc tw(H) tw(L) tr 最 大 単位 ns 100 50 50 外部クロック入力 "H"パルス幅 外部クロック入力 "L" パルス幅 外部クロック立ち上がり時間 外部クロック立ち下がり時間 tf 最 小 15 15 ns ns ns ns 表3.12. メモリ拡張モード、マイクロプロセッサモード 記 号 項 目 規 格 値 単位 tac1(RD-DB) データ入力アクセス時間 (ウエイトなし設定) 最 大 (注1) tac2(RD-DB) データ入力アクセス時間 (ウエイトあり設定) (注2) ns ns tac3(RD-DB) (注3) ns tsu(RDY-BCLK ) tsu(HOLD-BCLK ) th(RD-DB) データ入力アクセス時間 (マルチプレクスバス領域をアクセスした場合) データ入力セットアップ時間 RDY入力セットアップ時間 HOLD入力セットアップ時間 データ入力ホールド時間 th(BCLK -RDY) RDY入力ホールド時間 0 0 th(BCLK-HOLD ) HOLD入力ホールド時間 0 td(BCLK-HLDA ) HLDA出力遅延時間 tsu(DB-RD) 最 小 40 ns 30 ns ns ns 40 ns ns 40 ns 注1. BCLKの周波数に応じて次の計算式で算出されます。 0.5×109 f(BCLK) −45 [ns] 注2. BCLKの周波数に応じて次の計算式で算出されます。 (n-0.5)×109 −45 [ns] f(BCLK) nは1ウエイト設定の場合“2”、2ウエイト設定の場合“3”、 3ウエイト設定の場合“4” 注3. BCLKの周波数に応じて次の計算式で算出されます。 (n-0.5)×109 −45 [ns] f(BCLK) nは2ウエイト設定の場合“2”、3ウエイト設定の場合“3” 表3.13. リモコン入力 規 格 値 記 号 tw(RMTH) tw(RMTL) 項 目 RMTIN入力 "H"パルス幅 RMTIN入力 "L" パルス幅 最 小 最 大 単位 μs μs 61 61 表3.14. ジャストクロック入力 規 格 値 記 号 tw(JSTH) tw(JSTL) Rev.1.00 項 目 JSTIN入力 "H"パルス幅 JSTIN入力 "L" パルス幅 2004.03.01 page 249 of 311 最 小 61 61 最 大 単位 μs μs M306H3MC-XXXFP/FCFP VCC = 5V タイミング必要条件 (指定のない場合は、VCC=5V、VSS=0V、Topr=−20∼70℃) 表3.15. タイマA入力(イベントカウンタモードのカウント入力) 記 号 項 目 tc(TA) TAiIN入力サイクル時間 tw(TAH) TAiIN入力 "H" パルス幅 tw(TAL) TAiIN入力 "L " パルス幅 規 格 値 最 小 最 大 100 40 単位 ns ns ns 40 表3.16. タイマA入力(タイマモードのゲーティング入力) 記 号 項 目 規 格 値 最 小 最 大 単位 tc(TA) TAiIN入力サイクル時間 400 ns tw(TAH) tw(TAL) TAiIN入力 "H" パルス幅 TAiIN入力 "L " パルス幅 200 200 ns ns 表3.17. タイマA入力(ワンショットタイマモードの外部トリガ入力) 記 号 項 目 tc(TA) TAiIN入力サイクル時間 tw(TAH) tw(TAL) TAiIN入力 "H" パルス幅 TAiIN入力 "L " パルス幅 規 格 値 最 小 最 大 200 100 100 単位 ns ns ns 表3.18. タイマA入力(パルス幅変調モードの外部トリガ入力) 記 号 項 目 tw(TAH) TAiIN入力 "H" パルス幅 tw(TAL) TAiIN入力 "L " パルス幅 規 格 値 最 小 最 大 100 100 単位 ns ns 表3.19. タイマA入力(イベントカウンタモードのアップダウン入力) 記 号 項 目 tc(UP) TAiOUT入力サイクル時間 tw(UPH) TAiOUT入力 "H" パルス幅 tw(UPL) tsu(UP-TIN) th(TIN-UP) TAiOUT入力 "L " パルス幅 TAiOUT入力セットアップ時間 TAiOUT入力ホールド時間 Rev.1.00 2004.03.01 page 250 of 311 規 格 値 最 小 最 大 2000 1000 1000 400 400 単位 ns ns ns ns ns M306H3MC-XXXFP/FCFP VCC = 5V タイミング必要条件 (指定のない場合は、VCC=5V、VSS=0V、Topr=−20∼70℃) 表3.20. タイマB入力(イベントカウンタモードのカウント入力) 記 号 項 目 規 格 値 最 小 最 大 単位 tc(TB) TBiIN 入力サイクル時間(片エッジカウント) 100 ns tw(TBH) tw(TBL) TBiIN 入力 "H" パルス幅(片エッジカウント) TBiIN 入力 "L " パルス幅(片エッジカウント) 40 tc(TB) TBiIN 入力サイクル時間(両エッジカウント) 40 200 ns ns ns tw(TBH) TBiIN 入力 "H" パルス幅(両エッジカウント) 80 ns tw(TBL) TBiIN 入力 "L " パルス幅(両エッジカウント) 80 ns 表3.21. タイマB入力(パルス周期測定モード) 記 号 項 目 規 格 値 最 小 最 大 単位 tc(TB) TBiIN入力サイクル時間 400 ns tw(TBH) tw(TBL) TBiIN入力 "H" パルス幅 TBiIN入力 "L " パルス幅 200 200 ns ns 表3.22. タイマB入力(パルス幅測定モード) 記 号 項 目 規 格 値 最 小 最 大 単位 tc(TB) TBiIN入力サイクル時間 400 ns tw(TBH) tw(TBL) TBiIN入力 "H" パルス幅 TBiIN入力 "L " パルス幅 200 ns ns 200 表3.23. A-Dトリガ入力 記 号 項 目 tc(AD) ADTRG入力サイクル時間(トリガ可能最小) tw(ADL) ADTRG入力 "L " パルス幅 規 格 値 最 大 最 小 単位 1000 ns 125 ns 表3.24. シリアルI/O 記 号 項 目 規 格 値 最 小 最 大 単位 tc(CK) CLKi入力サイクル時間 200 ns tw(CKH) CLKi入力 "H" パルス幅 100 ns tw(CKL) td(C-Q) CLKi入力 "L " パルス幅 TxDi出力遅延時間 100 80 ns ns th(C-Q) TxDiホールド時間 RxDi入力セットアップ時間 0 30 ns tsu(D-C) th(C-D) RxDi入力ホールド時間 90 ns ns _______ 表3.25. 外部割り込みINTi入力 記 号 項 目 tw(INH) INTi入力 "H" パルス幅 tw(INL) INTi入力 "L " パルス幅 Rev.1.00 2004.03.01 page 251 of 311 規 格 値 最 小 最 大 250 250 単位 ns ns M306H3MC-XXXFP/FCFP VCC = 5V スイッチング特性 (指定のない場合は、VCC=5V、VSS=0V、Topr=−20∼70℃) 表3.26. メモリ拡張モード、マイクロプロセッサモード(ウエイトなし設定の場合) 測 定 条 件 項 目 記 号 td(BCLK-AD) th(BCLK-AD) th(RD-AD) th(WR-AD) td(BCLK-CS) th(BCLK-CS) td(BCLK-ALE) th(BCLK-ALE) td(BCLK-RD) th(BCLK-RD) td(BCLK-WR) th(BCLK-WR) td(BCLK-DB) th(BCLK-DB) td(DB-WR) th(WR-DB) アドレス出力遅延時間 アドレス出力保持時間(BCLK基準) アドレス出力保持時間(RD基準) アドレス出力保持時間(WR基準) チップセレクト出力遅延時間 規 格 値 最 小 最 大 40 4 0 (注2) 40 チップセレクト出力保持時間(BCLK基準) ALE信号出力遅延時間 ALE信号出力保持時間 RD信号出力遅延時間 RD信号出力保持時間 WR信号出力遅延時間 WR信号出力保持時間 データ出力遅延時間(BCLK基準) 4 図3.1 40 -4 40 0 40 0 40 4 データ出力保持時間(BCLK基準) データ出力遅延時間(WR基準) データ出力保持時間(WR基準)(注3) (注1) (注2) 単位 ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns 注1. BCLKの周波数に応じて次の計算式で算出されます。 0.5×109 f(BCLK) −40 [ns] 注2. BCLKの周波数に応じて次の計算式で算出されます。 0.5×109 f(BCLK) −10 [ns] 注3. この規格値は出力がオフするタイミングを示しており、データ バスの保持時間を示すものではありません。データバスの保持 時間は付加容量やプルアップ(プルダウン)抵抗値によって異なり ます。 右図の回路でデータバスの保持時間は、 t = −CR × ln (1−VOL / VCC ) で表されます。 例えば、VOL = 0.2VCC 、C = 30pF、R = 1kΩとすると、 出力“L”レベルの保持時間は、 t = −30pF × 1kΩ × ln (1 − 0.2VCC / VCC ) = 6.7ns となります。 P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 図3.1. ポートP0∼P10の測定回路 Rev.1.00 2004.03.01 page 252 of 311 30pF R DBi C M306H3MC-XXXFP/FCFP VCC = 5V スイッチング特性 (指定のない場合は、VCC=5V、VSS=0V、Topr=−20∼70℃) 表3.27. メモリ拡張モード、マイクロプロセッサモード (1∼3ウエイト設定、外部領域をアクセスした場合) 記 号 td(BCLK-AD) th(BCLK-AD) th(RD-AD) th(WR-AD) td(BCLK-CS) th(BCLK-CS) td(BCLK-ALE) th(BCLK-ALE) td(BCLK-RD) th(BCLK-RD) td(BCLK-WR) th(BCLK-WR) td(BCLK-DB) th(BCLK-DB) td(DB-WR) th(WR-DB) 項 目 測 定 条 件 規 格 値 最 小 最 大 アドレス出力遅延時間 単位 40 4 0 アドレス出力保持時間(BCLK基準) アドレス出力保持時間(RD基準) アドレス出力保持時間(WR基準) チップセレクト出力遅延時間 (注2) 40 4 チップセレクト出力保持時間(BCLK基準) ALE信号出力遅延時間 ALE信号出力保持時間 RD信号出力遅延時間 RD信号出力保持時間 WR信号出力遅延時間 WR信号出力保持時間 データ出力遅延時間(BCLK基準) データ出力保持時間(BCLK基準) データ出力遅延時間(WR基準) データ出力保持時間(WR基準)(注3) 40 図3.1 -4 40 0 40 0 40 4 (注1) (注2) ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns 注1. BCLKの周波数に応じて次の計算式で算出されます。 (n−0.5)×109 −40 f(BCLK) [ns] nは1ウエイト設定の場合“1”、2ウエイト設定の場合“2”、 3ウエイト設定の場合“3” 注2. BCLKの周波数に応じて次の計算式で算出されます。 0.5×109 f(BCLK) −10 [ns] 注3. この規格値は出力がオフするタイミングを示しており、データ バスの保持時間を示すものではありません。データバスの保持 時間は付加容量やプルアップ(プルダウン)抵抗値によって異なり ます。 右図の回路でデータバスの保持時間は、 t = −CR × ln (1−VOL / VCC ) で表されます。 例えば、VOL = 0.2VCC 、C = 30pF、R = 1kΩとすると、 出力“L”レベルの保持時間は、 t = −30pF × 1kΩ × ln (1 − 0.2VCC / VCC ) = 6.7ns Rev.1.00 2004.03.01 page 253 of 311 R DBi C M306H3MC-XXXFP/FCFP VCC = 5V スイッチング特性 (指定のない場合は、VCC=5V、VSS=0V、Topr=−20∼70℃) 表3.28. メモリ拡張モード、マイクロプロセッサモード (2∼3ウエイト設定、外部領域をアクセスし、かつマルチプレクスバスを選択した場合) 記 号 td(BCLK-AD) th(BCLK-AD) th(RD-AD) th(WR-AD) td(BCLK-CS) th(BCLK-CS) th(RD-CS) th(WR-CS) td(BCLK-RD) th(BCLK-RD) td(BCLK-WR) th(BCLK-WR) td(BCLK-DB) th(BCLK-DB) td(DB-WR) th(WR-DB) td(BCLK-ALE) th(BCLK-ALE) td(AD-ALE) th(ALE-AD) 項 目 測 定 条 件 アドレス出力遅延時間 アドレス出力保持時間(BCLK基準) アドレス出力保持時間(RD基準) アドレス出力保持時間(WR基準) チップセレクト出力遅延時間 チップセレクト出力保持時間(BCLK基準) チップセレクト出力保持時間(RD基準) チップセレクト出力保持時間(WR基準) RD信号出力遅延時間 RD信号出力保持時間 WR信号出力遅延時間 WR信号出力保持時間 データ出力遅延時間(BCLK基準) データ出力保持時間(BCLK基準) データ出力遅延時間(WR基準) td(AD-RD) td(AD-WR) データ出力保持時間(WR基準) ALE出力遅延時間(BCLK基準) ALE出力保持時間(BCLK基準) ALE出力遅延時間(アドレス基準) ALE出力保持時間(アドレス基準) アドレス後RD信号出力遅延時間 アドレス後WR信号出力遅延時間 tdZ(RD-AD) アドレス出力フローティング開始時間 規 格 値 最 小 最 大 40 4 (注1) (注1) 40 4 (注1) (注1) ns ns ns ns ns ns ns 40 0 図3.1 単位 40 0 40 4 (注2) (注1) ns ns ns ns ns ns ns ns −4 (注3) (注4) ns ns ns ns ns 0 0 ns ns 40 8 ns 注1. BCLKの周波数に応じて次の計算式で算出されます。 0.5×109 f(BCLK) −10 [ns] 注2. BCLKの周波数に応じて次の計算式で算出されます。 (n−0.5)×109 −40 [ns] f(BCLK) nは2ウエイト設定の場合“2”、3ウエイト設定の場合“3” 注3. BCLKの周波数に応じて次の計算式で算出されます。 0.5×109 f(BCLK) −25 [ns] 注4. BCLKの周波数に応じて次の計算式で算出されます。 0.5×109 f(BCLK) Rev.1.00 2004.03.01 −15 [ns] page 254 of 311 M306H3MC-XXXFP/FCFP VCC = 5V tc(TA) tw(TAH) TAiIN入力 tw(TAL) tc(UP) tw(UPH) TAiOUT入力 tw(UPL) TAiOUT入力 (アップダウン入力) イベントカウンタモード時 TAiIN入力 (立ち下がりカウント選択時) th(TIN-UP) tsu(UP-TIN) TAiIN入力 (立ち上がりカウント選択時) イベントカウンタモードの二相パルス入力 tC(TA) TAiIN入力 tsu(TAIN-TAOUT) tsu(TAIN-TAOUT) tsu(TAOUT-TAIN) TAiOUT入力 tsu(TAOUT-TAIN) tc(TB) tw(TBH) TBiIN入力 tw(TBL) tc(AD) tw(ADL) ADTRG入力 図3.2. タイミング図(1) Rev.1.00 2004.03.01 page 255 of 311 M306H3MC-XXXFP/FCFP VCC = 5V tc(CK) tw(CKH) CLKi tw(CKL) th(C-Q) TxDi td(C-Q) tsu(D-C) RxDi tw(INL) INTi入力 tw(INH) 図3.3. タイミング図(2) Rev.1.00 2004.03.01 page 256 of 311 th(C-D) M306H3MC-XXXFP/FCFP VCC = 5V メモリ拡張モード、マイクロプロセッサモード (ウエイトあり設定の場合に有効) BCLK RD (セパレートバス) WR, WRL, WRH (セパレートバス) RD (マルチプレクスバス) WR, WRL, WRH (マルチプレクスバス) RDY 入力 tsu(RDY−BCLK) th(BCLK−RDY) (ウエイトあり設定、ウエイトなし設定共通) BCLK tsu(HOLD−BCLK) th(BCLK−HOLD) HOLD 入力 HLDA 出力 td(BCLK−HLDA) P0, P1, P2, P3, P4, P50∼P52 td(BCLK−HLDA) Hi−Z 注1. BYTE端子の入力レベル、PM0レジスタのPM06ビット、PM1レジスタのPM11ビットにかかわらず 上記ピンはすべてハイインピーダンス状態になります。 測定条件 ・VCC =5V ・入力タイミング電圧:VIL=1.0V、VIH=4.0V ・出力タイミング電圧:VOL=2.5V、VOH=2.5V 図3.4. タイミング図(3) Rev.1.00 2004.03.01 page 257 of 311 M306H3MC-XXXFP/FCFP メモリ拡張モード、マイクロプロセッサモード(ウエイトなし設定の場合) 読み出しタイミング BCLK td(BCLK-CS) th(BCLK-CS) 40ns.max 4ns.min CSi tcyc td(BCLK-AD) th(BCLK-AD) 40ns.max 4ns.min ADi BHE th(BCLK-ALE) td(BCLK-ALE) -4ns.min 40ns.max th(RD-AD) 0ns.min ALE td(BCLK-RD) 40ns.max th(BCLK-RD) 0ns.min RD tac1(RD-DB) (0.5×tcyc-45)ns.max DB Hi-Z tSU(DB-RD) 40ns.min th(RD-DB) 0ns.min 書き込みタイミング BCLK td(BCLK-CS) th(BCLK-CS) 40ns.max 4ns.min CSi tcyc td(BCLK-AD) th(BCLK-AD) 40ns.max 4ns.min ADi BHE td(BCLK-ALE) th(BCLK-ALE) 40ns.max th(WR-AD) (0.5×tcyc−10)ns.min −4ns.min ALE td(BCLK-WR) 40ns.max th(BCLK-WR) 0ns.min WR,WRL, WRH td(BCLK-DB) th(BCLK-DB) 40ns.max DBi td(DB-WR) 1 tcyc= f(BCLK) (0.5×tcyc-40)ns.min 測定条件 ・VCC =5V ・入力タイミング電圧: VIL=0.8V、VIH=2.0V ・出力タイミング電圧: VOL=0.4V、VOH=2.4V 図3.5. タイミング図(4) Rev.1.00 4ns.min Hi-Z 2004.03.01 page 258 of 311 th(WR-DB) (0.5×tcyc−10)ns.min VCC = 5V M306H3MC-XXXFP/FCFP VCC = 5V メモリ拡張モード、マイクロプロセッサモード (1ウエイト設定、外部領域をアクセスした場合) 読み出しタイミング BCLK td(BCLK-CS) th(BCLK-CS) 40ns.max 4ns.min CSi tcyc td(BCLK-AD) th(BCLK-AD) 40ns.max 4ns.min ADi BHE td(BCLK-ALE) th(RD-AD) th(BCLK-ALE) 40ns.max 0ns.min −4ns.min ALE td(BCLK-RD) th(BCLK-RD) 40ns.max 0ns.min RD tac2(RD-DB) (1.5×tcyc-45)ns.max Hi-Z DB th(RD-DB) tSU(DB-RD) 0ns.min 40ns.min 書き込みタイミング BCLK td(BCLK-CS) th(BCLK-CS) 40ns.max 4ns.min CSi tcyc td(BCLK-AD) th(BCLK-AD) 40ns.max 4ns.min ADi BHE td(BCLK-ALE) th(BCLK-ALE) 40ns.max th(WR-AD) (0.5×tcyc−10)ns.min −4ns.min ALE td(BCLK-WR) 40ns.max th(BCLK-WR) 0ns.min WR,WRL, WRH td(BCLK-DB) th(BCLK-DB) 40ns.max td(DB-WR) tcyc= 1 (0.5×tcyc-40)ns.min f(BCLK) 測定条件 ・VCC =5V ・入力タイミング電圧: VIL=0.8V、VIH=2.0V ・出力タイミング電圧: VOL=0.4V、VOH=2.4V 図3.6. タイミング図(5) Rev.1.00 4ns.min Hi-Z DBi 2004.03.01 page 259 of 311 th(WR-DB) (0.5×tcyc−10)ns.min M306H3MC-XXXFP/FCFP VCC = 5V メモリ拡張モード、マイクロプロセッサモード (2ウエイト設定、外部領域をアクセスした場合) 読み出しタイミング tcyc BCLK th(BCLK-CS) td(BCLK-CS) 4ns.min 40ns.max CSi td(BCLK-AD) th(BCLK-AD) 40ns.max 4ns.min ADi BHE td(BCLK-ALE) 40ns.max th(BCLK-ALE) th(RD-AD) -4ns.min 0ns.min ALE th(BCLK-RD) 0ns.min td(BCLK-RD) 40ns.max RD tac2(RD-DB) (2.5×tcyc-45)ns.max DBi Hi-Z tSU(DB-RD) 40ns.min th(RD-DB) 0ns.min 書き込みタイミング tcyc BCLK td(BCLK-CS) 40ns.max th(BCLK-CS) td(BCLK-AD) 40ns.max th(BCLK-AD) 4ns.min CSi 4ns.min ADi BHE td(BCLK-ALE) 40ns.max th(WR-AD) (0.5×tcyc−10)ns.min th(BCLK-ALE) -4ns.min ALE td(BCLK-WR) 40ns.max th(BCLK-WR) 0ns.min WR, WRL WRH td(BCLK-DB) 40ns.max Hi-Z DB td(DB-WR) tcyc= (1.5×tcyc-40)ns.min 1 f(BCLK) 測定条件 ・VCC =5V ・入力タイミング電圧: VIL=0.8V、VIH=2.0V ・出力タイミング電圧: VOL=0.4V、VOH=2.4V 図3.7. タイミング図(6) Rev.1.00 th(BCLK-DB) 4ns.min 2004.03.01 page 260 of 311 th(WR-DB) (0.5×tcyc−10)ns.min M306H3MC-XXXFP/FCFP VCC = 5V メモリ拡張モード、マイクロプロセッサモード (3ウエイト設定、外部領域をアクセスした場合) 読み出しタイミング tcyc BCLK th(BCLK-CS) 4ns.min td(BCLK-CS) 40ns.max CSi th(BCLK-AD) td(BCLK-AD) 40ns.max 4ns.min ADi BHE td(BCLK-ALE) th(RD-AD) 0ns.min th(BCLK-ALE) 40ns.max -4ns.min ALE th(BCLK-RD) td(BCLK-RD) 40ns.max 0ns.min RD tac2(RD-DB) (3.5×tcyc-45)ns.max DBi Hi-Z tSU(DB-RD) th(RD-DB) 40ns.min 0ns.min 書き込みタイミング tcyc BCLK th(BCLK-CS) td(BCLK-CS) 40ns.max 4ns.min CSi td(BCLK-AD) th(BCLK-AD) 40ns.max 4ns.min ADi BHE td(BCLK-ALE) 40ns.max th(WR-AD) th(BCLK-ALE) (0.5×tcyc−10)ns.min -4ns.min ALE td(BCLK-WR) 40ns.max th(BCLK-WR) 0ns.min WR, WRL WRH td(BCLK-DB) th(BCLK-DB) 40ns.max 4ns.min Hi-Z DB td(DB-WR) tcyc= (2.5×tcyc-40)ns.min 1 f(BCLK) 測定条件 ・VCC =5V ・入力タイミング電圧: VIL=0.8V、VIH=2.0V ・出力タイミング電圧: VOL=0.4V、VOH=2.4V 図3.8. タイミング図(7) Rev.1.00 2004.03.01 page 261 of 311 th(WR-DB) (0.5×tcyc−10)ns.min M306H3MC-XXXFP/FCFP VCC = 5V メモリ拡張モード、マイクロプロセッサモード (1ウエイト設定または2ウエイト設定、外部領域をアクセスし、かつマルチプレクスバスを使用した場合) 読み出しタイミング BCLK td(BCLK-CS) th(RD-CS) (0.5×tcyc-10)ns.min tcyc 40ns.max th(BCLK-CS) 4ns.min CSi td(AD-ALE) th(ALE-AD) (0.5×tcyc-25)ns.min ADi /DBi (0.5×tcyc-15)ns.min アドレス データ入力 tdZ(RD-AD) 8ns.max tac3(RD-DB) (1.5×tcyc-45)ns.max tSU(DB-RD) アドレス th(RD-DB) 0ns.min 40ns.min td(AD-RD) 0ns.min td(BCLK-AD) th(BCLK-AD) 4ns.min 40ns.max ADi BHE td(BCLK-ALE) th(BCLK-ALE) 25ns.max th(RD-AD) −4ns.min (0.5×tcyc-10)ns.min ALE td(BCLK-RD) th(BCLK-RD) 40ns.max 0ns.min RD 書き込みタイミング BCLK td(BCLK-CS) th(BCLK-CS) th(WR-CS) tcyc 4ns.min (0.5×tcyc-10)ns.min 40ns.max CSi th(BCLK-DB) td(BCLK-DB) 4ns.min 40ns.max ADi /DBi アドレス データ出力 td(DB-WR) (1.5×tcyc-40)ns.min td(AD-ALE) (0.5×tcyc-25)ns.min アドレス th(WR-DB) (0.5×tcyc-10)ns.min td(BCLK-AD) th(BCLK-AD) 4ns.min 40ns.max ADi BHE td(BCLK-ALE) 40ns.max th(BCLK-ALE) −4ns.min td(AD-WR) 0ns.min th(WR-AD) (0.5×tcyc-10)ns.min ALE td(BCLK-WR) 40ns.max WR,WRL, WRH tcyc = 1 f(BCLK) 測定条件 ・VCC=5V ・入力タイミング電圧: VIL=0.8V、VIH=2.0V ・出力タイミング電圧: VOL=0.4V、VOH=2.4V 図3.9. タイミング図(8) Rev.1.00 2004.03.01 page 262 of 311 th(BCLK-WR) 0ns.min M306H3MC-XXXFP/FCFP VCC = 5V メモリ拡張モード、マイクロプロセッサモード (3ウエイト設定、外部領域をアクセスし、かつマルチプレクスバスを使用した場合) 読み出しタイミング tcyc BCLK th(RD-CS) (0.5×tcyc-10)ns.min td(BCLK-CS) th(BCLK-CS) 4ns.min 40ns.max CSi td(AD-ALE) (0.5×tcyc-25)ns.min ADi /DB データ入力 アドレス td(BCLK-AD) 40ns.max ADi BHE (マルチプレ クスなし) th(ALE-AD) (0.5×tcyc-15)ns.min tdZ(RD-AD) 8ns.max td(AD-RD) tac3(RD-DB) (2.5×tcyc-45)ns.max 0ns.min td(BCLK-ALE) 40ns.max th(RD-DB) tSU(DB-RD) 0ns.min th(BCLK-AD) 40ns.min 4ns.min th(RD-AD) th(BCLK-ALE) (0.5×tcyc-10)ns.min -4ns.min ALE th(BCLK-RD) td(BCLK-RD) 0ns.min 40ns.max RD 書き込みタイミング tcyc BCLK th(WR-CS) (0.5×tcyc-10)ns.min td(BCLK-CS) th(BCLK-CS) 4ns.min 40ns.max CSi th(BCLK-DB) td(BCLK-DB) 40ns.max ADi /DB アドレス 4ns.min データ出力 td(AD-ALE) (0.5×tcyc-25)ns.min td(DB-WR) (2.5×tcyc-40)ns.min th(WR-DB) (0.5×tcyc-10)ns.min td(BCLK-AD) th(BCLK-AD) 40ns.max 4ns.min ADi BHE (マルチプレ クスなし) td(BCLK-ALE) 40ns.max th(BCLK-ALE) -4ns.min th(WR-AD) td(AD-WR) (0.5×tcyc-10)ns.min 0ns.min ALE th(BCLK-WR) td(BCLK-WR) 40ns.max WR, WRL WRH tcyc= 1 f(BCLK) 測定条件 ・VCC =5V ・入力タイミング電圧: VIL=0.8V、VIH=2.0V ・出力タイミング電圧: VOL=0.4V、VOH=2.4V 図3.10. タイミング図(9) Rev.1.00 2004.03.01 page 263 of 311 0ns.min M306H3MC-XXXFP/FCFP 4. フラッシュメモリ 4.1 性能概要(フラッシュメモリ版) フラッシュメモリ版は、フラッシュメモリを内蔵していることを除いて、マスクROM版と同じ機能を 持ちます。 フラッシュメモリ版では、CPU書き換えモード、標準シリアル入出力モード、パラレル入出力モード の3つの書き換えモードでフラッシュメモリを操作できます。 表4.1.1にフラッシュメモリ版の性能概要を示します(表4.1.1に示す以外の項目は「表1.4.1 性能概要」 を参照してください)。 表4.1.1. フラッシュメモリ版の性能概要 項 目 フラッシュメモリの動作モード 消去ブロック分割 性 能 3モード(CPU書き換え、標準シリアル入出力、パラレル入出力) ユーザROM領域 「図4.2.1 フラッシュメモリのブロック図」を参照してください。 ブートROM領域 1分割(4Kバイト) (注1) プログラム方式 ワード単位 イレーズ方式 一括消去、ブロック消去 プログラム、イレーズ制御方式 ソフトウエアコマンドによるプログラム、イレーズ制御 プロテクト方式 ロックビットによるブロック単位のプロテクト コマンド数 8コマンド プログラム、イレーズ回数 100回 データ保持 10年間 ROMコードプロテクト パラレル入出力モード、標準シリアル入出力モード対応 注1. ブートROM領域には出荷時に標準シリアル入出力モードの書き換え制御プログラムが格納されています。この領域は、パラレル入出力モードでのみ 書き換えられます。 表4.1.2. フラッシュメモリ書き換えモードの概要 フラッシュメモリ CPU書き換えモード 標準シリアル入出力モード パラレル入出力モード (注1) 書き換えモード 機能概要 CPUがソフトウエアコマンド 専用シリアルライタを使用して、 専用パラレルライタを使 を実行することにより、ユー ユーザROM領域を書き換える 用して、ブートROM領 ザROM領域を書き換える 標準シリアル入出力モード1: 域、ユーザROM領域を書 EW0モード: クロック同期形シリアルI/O き換える フラッシュメモリ以外の 標準シリアル入出力モード2: 領域で書き換え可能(注2) クロック非同期形シリアルI/O EW1モード: フラッシュメモリ上で 書き換え可能 書き換えできる ユーザROM領域 ユーザROM領域 ユーザROM領域 領域 ブートROM領域 動作モード シングルチップモード ブートモード パラレル入出力モード ブートモード(EW0モード) ROMライタ − シリアルライタ パラレルライタ 注1. FMR0 レジスタのFMR01 ビットが“1 ”(CPU 書き換えモード有効)の期間、PM13 ビットが“1 ”になります。FMR01 ビットを“0 ”(CPU 書き換えモード無効)にすると、PM13 ビットは元の値に戻ります。ただし、CPU 書き換えモー ド中にPM13 ビットを変更すると、変更した値がFMR01 ビットを“0 ”にした後、反映されます。 注2. CPU 書き換えモードでは、PM1 レジスタのPM10 ビット、PM13 ビットが“1 ”になります。書き換え制御プログ ラムを実行する領域は内部RAM で実行してください。 Rev.1.00 2004.03.01 page 264 of 311 M306H3MC-XXXFP/FCFP 4.2 メモリ配置 フラッシュメモリ版のROMは、ユーザROM領域とブートROM領域に分けられます。図4.2.1にフラッ シュメモリのブロック図を示します。 ユーザROM領域はいくつかのブロックに分割されており、ブロックごとにプログラムやイレーズを禁 止(ロック)できます。ユーザROM領域は、CPU書き換えモード、標準シリアル入出力モード、またはパ ラレル入出力モードで書き換えられます。 ブートROM領域は、ユーザROM領域と重なったアドレスに配置されており、パラレル入出力モードで だけ書き換えられます。また、CNVSS端子とP50端子に“H”を、M1端子に“L”を入力してハードウエ アリセットすると、リセット後、ブートROM領域のプログラムが実行されます。CNVSS端子に“L”を 入力してハードウエアリセットするとリセット後、ユーザROM領域のプログラムが実行され、ブートROM 領域は読めません。 0F000016 ブロック5 : 32Kバイト 0F7FFF16 0E000016 0F800016 ブロック4 : 8Kバイト ブロック6 : 64Kバイト 0F9FFF16 0FA00016 ブロック3 : 8Kバイト 0EFFFF16 0FBFFF16 0F000016 0FC00016 ブロック0∼5 (32+8+8+8+4+4)Kバイト 0FDFFF16 0FE00016 0FEFFF16 0FF00016 0FFFFF16 0FFFFF16 ブロック2 : 8Kバイト ブロック0∼ブロック5 (32+8+8+4+4)Kバイト ブロック1 : 4Kバイト ブロック0 : 4Kバイト ユーザROM領域 注1. ブートROM領域はパラレル入出力モードでのみ書き換えられます。 注2. ブロックを指定する場合、ブロック内の偶数アドレスを使用 してください。 注3. シングルチップモード時のブロック図です。 図4.2.1. フラッシュメモリのブロック図 Rev.1.00 2004.03.01 page 265 of 311 0FF00016 0FFFFF16 4Kバイト ブートROM領域(注1) M306H3MC-XXXFP/FCFP ブートモード M1端子に“L”、CNVSS端子に“H”、P50端子に“H”を入力してハードウエアリセットすると、ブー トモードになり、ブートROM領域のプログラムを実行します。 ブートモード時、ブートROM領域とユーザROM領域は、FMR0レジスタのFMR05ビットで切り替えら れます。 ブートROM領域には、出荷時、標準シリアル入出力モードの書き換え制御プログラムが格納されてい ます。 また、ブートROM領域はパラレル入出力モードで書き換えられます。EW0モードを使用した任意の書 き換え制御プログラムをブートROM領域に書いておくと、システムに合わせた書き換えができます。 フラッシュメモリ書き換え禁止機能 フラッシュメモリを簡単に読んだり、書き換えたりできないように、パラレル入出力モードにはROM コードプロテクト、標準シリアル入出力モードにはIDコードチェック機能があります。 ROMコードプロテクト機能 ROMコードプロテクトは、パラレル入出力モード使用時、フラッシュメモリの読み出しや書き換えを 禁止する機能です。図4.2.2にROMCPレジスタを示します。ROMCPレジスタは、ユーザROM領域に存在 します。 ROMCP1ビットは2ビットで構成されています。ROMCRビットが“002”以外の場合、ROMCP1ビット の2ビットのうちどちらか一方または両方を“0”にすると、ROMコードプロテクトが有効になり、フラッ シュメモリの読み出しや書き換えが禁止されます。ただし、ROMCRビットを“002”(ROMコードプロテ クト解除)にすると、フラッシュメモリを読んだり書き換えたりできます。一度ROMコードプロテクトを 有効にすると、パラレル入出力モードでは、ROMCRビットを変更できませんので、標準シリアル入出力 モードなど、他のモードで書き換えてください。 IDコードチェック機能 標準シリアル入出力モードで使用します。フラッシュメモリがブランクではない場合、ライタから送 られてくるIDコードとフラッシュメモリに書かれているIDコードが一致するか判定します。コードが一 致しなければ、ライタから送られてくるコマンドは受け付けません。IDコードは各8ビットのデータで、 その領域は、1バイト目から0FFFDF 16、0FFFE316、0FFFEB 16、0FFFEF16、0FFFF316、0FFFF716、 0FFFFB16番地です。これらの番地にあらかじめIDコードを設定したプログラムをフラッシュメモリに書 いてください。 Rev.1.00 2004.03.01 page 266 of 311 M306H3MC-XXXFP/FCFP ROMコードプロテクト制御番地 b7 b6 b5 b4 b3 b2 1 1 b1 b0 シンボル ROMCP 1 1 アドレス 0FFFFF16番地 ビット名 ビットシンボル ROMCR ROMCP1 出荷時の値 FF16(注4) 機 能 RW RW 予約ビット “1”にしてください 予約ビット “1”にしてください RW 予約ビット “1”にしてください RW 予約ビット “1”にしてください RW ROMコードプロテクト 解除ビット (注2、注4) b5 b4 ROMコードプロテクト レベル1設定ビット (注1、注3、注4) b7 b6 0 0 : プロテクト解除 01: 10: ROMCP1ビット有効 11: 00: プロテクト有効 01: 10: 1 1 : プロテクト無効 RW RW RW RW 注1. ROMCRビットを“002”以外、かつROMCP1ビットを“112”以外(ROMコードプロテクトを有効)にする と、パラレル入出力モードでのフラッシュメモリの読み出しや書き換えが禁止されます。 注2. ROMCRビットを“00 2”にすると、ROMコードプロテクト・レベル1が解除されます。ただし、ROMCR ビットをパラレル入出力モードでは変更できないため、標準シリアル入出力モードなどで変更してください。 注3. ROMCP1ビットはROMCRビットが“012”、“102”、“112”のとき有効です。 注4. 一度“0”にしたビットは、“1”にできません。ROMCPレジスタを含むブロックを消去すると、 ROMCPレジスタは“FF16”になります。 図4.2.2. ROMCPレジスタ アドレス 0FFFDF 16∼0FFFDC16 ID1 未定義命令ベクタ 0FFFE316∼0FFFE016 ID2 オーバフローベクタ BRK命令ベクタ 0FFFE716∼0FFFE416 0FFFEB16∼0FFFE8 16 ID3 アドレス一致ベクタ 0FFFEF 16∼0FFFEC16 ID4 シングルステップベクタ 0FFFF316∼0FFFF016 ID5 監視タイマベクタ 0FFFF716∼0FFFF416 ID6 DBCベクタ 0FFFFB16∼0FFFF8 16 ID7 NMIベクタ 0FFFFF 16∼0FFFFC16 ROMCP リセットベクタ 4バイト 図4.2.3. IDコードの格納番地 Rev.1.00 2004.03.01 page 267 of 311 M306H3MC-XXXFP/FCFP CPU書き換えモード CPU書き換えモードでは、CPUがソフトウエアコマンドを実行することにより、ユーザROM領域を書 き換えることができます。したがって、ROMライタなどを使用せずにマイクロコンピュータを基板に実 装した状態で、ユーザROM領域を書き換えることができます。 CPU書き換えモードでは、図4.2.1に示すユーザROM領域のみの書き換えが可能で、ブートROM領域の 書き換えはできません。プログラム、ブロックイレーズのコマンドは、ユーザROM領域の各ブロック領 域のみに対して実行してください。 CPU書き換えモードには、イレーズライト0モード(EW0モード)とイレーズライト1モード(EW1モード) があります。表4.2.1にEW0モードとEW1モードの違いを示します。 表4.2.1. EW0モードとEW1モードの違い 項目 動作モード 書き換え制御 プログラムを配置 できる領域 書き換え制御 プログラムを 実行できる領域 書き換えられる 領域 EW0モード ・シングルチップモード ・ブートモード ・ユーザROM領域 ・ブートROM領域 EW1モード シングルチップモード フラッシュメモリ以外(RAM)へ 転送してから実行する必要あり(注2) ユーザROM領域上で実行可能 ユーザROM領域 ただし、書き換え制御プログラムがあるブロックを 除く ・プログラム、ブロックイレーズコマンド 書き換え制御プログラムがあるブロックに対して実行 禁止 ・イレーズ全アンロックブロックコマンド 書き換え制御プログラムがあるブロックのロック ビットが“1”(非ロック)、またはFMR0レジスタの FMR02ビットが“1”(ロックビット無効)のとき実行 禁止 ・リードステータスレジスタコマンド 実行禁止 リードアレイモード ユーザROM領域 ソフトウエアコマンド の制限 なし プログラム、イレーズ 後のモード 自動書き込み、自動消去 時のCPUの状態 フラッシュメモリの ステータス検知 リードステータスレジスタモード ホールド状態(入出力ポートはコマンド実行前の 状態を保持(注1)) ・プログラムでFMR0レジスタのFMR00、 プログラムでFMR0レジスタのFMR00、FMR06、 FMR06、FMR07ビットを読む FMR07ビットを読む ・リードステータスレジスタコマンドを 実行し、ステータスレジスタのSR7、 SR5、SR4を読む ________ 注1. 割り込み(NMI、監視タイマを除く)、DMA転送が起こらないようにしてください。 注2. CPU書き換えモードではPM1レジスタのPM10ビット、PM13ビットが“1”になります。書き換え制御プログラムを実行する 領域は、内部RAMで実行してください。 Rev.1.00 2004.03.01 動作 ユーザROM領域 page 268 of 311 M306H3MC-XXXFP/FCFP EW0モード FMR0レジスタのFMR01ビットを“1”(CPU書き換えモード有効)にするとCPU書き換えモードになり、 コマンドの受け付けが可能となります。このとき、FMR1レジスタのFMR11ビットが“0”なのでEW0モー ドになります。FMR01ビットを“1”にするときには“0”を書いた後、続けて“1”を書いてください。 プログラム、イレーズ動作の制御はソフトウエアコマンドで行います。プログラム、イレーズの終了 時の状態などはFMR0レジスタまたはステータスレジスタで確認できます。 EW1モード FMR01ビットを“1”にした後(“0”を書いた後、続けて“1”を書く)、FMR11ビットを“1”する(“0” を書いた後、続けて“1”を書く)とEW1モードになります。 プログラム、イレーズの終了時の状態などは、FMR0レジスタで確認できます。EW1モードでは、ス テータスレジスタを読めません。 Rev.1.00 2004.03.01 page 269 of 311 M306H3MC-XXXFP/FCFP 図4.2.4にFMR0、FMR1レジスタを示します。 FMR00ビット フラッシュメモリの動作状況を示すビットです。プログラム、イレーズ、ロックビットプログラム動 作中には“0”、それ以外のときには“1”になります。 FMR01ビット FMR01ビットを“1”(CPU書き換えモード)にすると、コマンドの受け付けが可能になります。なお、 ブートモード時はFMR05ビットも“1”(ユーザROM領域アクセス)にしてください。 FMR02ビット FMR02ビットを“1”(ロックビット無効)にすると、ブロックごとに設定したロックビットを無効にで きます(「データ保護機能」参照)。“0”にすると、設定したロックビットが有効になります。 FMR02ビットは、ロックビットの機能を無効にするだけであり、ロックビットデータは変化しません。 ただし、FMR02ビットを“1”にした状態でイレーズを実行した場合には、“0”(ロック状態)であった ロックビットデータは、消去終了後“1”(非ロック状態)になります。 FMSTPビット フラッシュメモリの制御回路を初期化し、かつフラッシュメモリの消費電流を低減するためのビット です。FMSTPビットを“1”にすると、内蔵フラッシュメモリをアクセスできなくなります。したがっ て、FMSTPビットはフラッシュメモリ以外の領域で変更してください。 次の場合、FMSTPビットを“1”にしてください。 ・EW0モードで消去、書き込み中にフラッシュメモリのアクセスが異常になった(FMR00ビットが“1” (レディ)に戻らなくなった)場合 ・低消費電力モードにする場合 図4.2.7に低消費電力モード前後の処理を示します。このフローチャートに従って操作してください。 なお、ストップモードまたはウエイトモードに移行する場合は、自動的に内蔵フラッシュメモリの電源 が切れ、復帰時に接続しますので、FMR0レジスタを設定する必要がありません。 FMR05ビット ブートモード時、ブートROM領域とユーザROM領域を切り替えるビットです。ブートROM領域をア クセス(読み出し)するときは“0”に、ユーザROM領域をアクセス(読み出し、書き込み、消去)するとき は“1”(ユーザROMアクセス)にしてください。 FMR06ビット 自動書き込みの状況を示す読み出し専用ビットです。プログラムエラーが発生すると“1”、それ以外 のときは“0”となります。詳細は「フルステータスチェック」を参照してください。 FMR07ビット 自動消去の状況を示す読み出し専用ビットです。イレーズエラーが発生すると“1”、それ以外のとき は“0”となります。詳細は「フルステータスチェック」を参照してください。 図4.2.5にEW0モードの設定と解除方法、図4.2.6にEW1モードの設定と解除方法を示します。 FMR11ビット FMR11ビットを“1”(EW1モード)にすると、EW1モードになります。 FMR16ビット リードロックビットステータス実行結果を示す読み出し専用ビットです。 Rev.1.00 2004.03.01 page 270 of 311 M306H3MC-XXXFP/FCFP フラッシュメモリ制御レジスタ0 b7 b6 b5 b4 b3 b2 b1 b0 シンボル FMR0 0 アドレス 01B716番地 リセット後の値 XX0000012 ビット名 ビット名 ビットシンボル 機 能 機 能 RRW W FMR00 RY/BYステータスフラグ 0 : ビジー (書き込み、消去実行中)(注6) 1 : レディ RO FMR01 CPU書き換えモード選択 ビット (注1) 0 : CPU書き換えモード無効 1 : CPU書き換えモード有効 RW ロックビット無効選択 ビット (注2) 0 : ロックビット有効 1 : ロックビット無効 フラッシュメモリ停止 ビット (注3、注5) 0 : フラッシュメモリ動作 1 : フラッシュメモリ停止 (低消費電力状態、フラッシュメモリ 初期化) FMR02 FMSTP RW RW 予約ビット “0”にしてください RW FMR05 ユーザROM領域選択 ビット (注3) (ブートモード時のみ有効) 0 : ブートROM領域アクセス 1 : ユーザROM領域アクセス RW FMR06 プログラムステータス フラグ(注4) 0 : 正常終了 1 : エラー終了 RO FMR07 イレーズステータス フラグ(注4) 0 : 正常終了 1 : エラー終了 RO (b4) 注1. “1”にするときは、 “0”を書いた後、続けて“1”を書いてください。“0”を書いた後、“1”を書くまでに割り込み、 DMA転送が入らないようにしてください。 このビットは、NMI端子が“H”の状態で書いてください。また、EW0モード時はフラッシュメモリ以外の領域で変更してください。 このビットはリードアレイモードにしてから“0”にしてください。 注2. “1”にするときは、FMR01ビットが“1”の状態で、このビットに“0”を書いた後、続けて“1”を書いてください。 “0”を書いた後、“1”を書くまでに割り込み、DMA転送が入らないようにしてください。 注3. このビットは、フラッシュメモリ以外の領域で変更してください。 注4. クリアステータスコマンドを実行すると“0”になります。 注5. FMR01ビットが“1”(CPU書き換えモード)のとき有効です。FMR01ビットが“0”のとき、FMSTPビットに“1”を書くと FMSTPビットは“1”になりますが、フラッシュメモリは低消費電力状態にはならず、初期化もされません。 注6. ロックビットプログラム、リードロックビットステータスコマンドでの書き込み、読み出し中を含みます。 フラッシュメモリ制御レジスタ1 b7 0 b6 b5 b4 0 0 b3 b2 b1 シンボル FMR1 b0 0 ビットシンボル ビットシンボル アドレス 01B516番地 リセット後の値 0X00XX0X2 ビット名 ビット名 機 能 機 能 RRW W (b0) 予約ビット 読んだ場合、不定 RO FMR11 EW1モード選択ビット (注1) 0 : EW0モード 1 : EW1モード RW (b3-b2) 予約ビット 読んだ場合、不定 RO RW (b5-b4) 予約ビット “0”にしてください FMR16 ロックビットステータス フラグ 0 : ロック 1 : 非ロック RO (b7) 予約ビット “0”にしてください RW 注1. “1”にするときは、FMR01ビットが“1”の状態で、このビットに“0”を書いた後、続けて“1”を書いてください。“0” を書いた後、“1”を書くまでに割り込み、DMA転送が入らないようにしてください。 このビットは、NMI端子が“H”の状態で書いてください。 FMR01ビットを“0”にすると、FMR01ビットとFMR11ビットは、いずれも“0”になります。 図4.2.4. FMR0、FMR1レジスタ Rev.1.00 2004.03.01 page 271 of 311 M306H3MC-XXXFP/FCFP EW0モード実行手順 書き換え制御プログラム シングルチップモード、 またはブートモード ブートモードのみ FMR05ビットを“1”(ユーザROM領域アクセス)にする FMR01ビットに“0”を書いた後、“1” (CPU書き換えモード有効)を書く(注2) CM0、CM1、PM1レジスタの設定 (注1) ソフトウエアコマンド実行 書き換え制御プログラムをフラッシュメモリ以外 の領域に転送(注5) フラッシュメモリ以外の領域に転送した書き換え制御 プログラムへジャンプ (以下の処理はフラッシュメモリ以外の領域上の書き換 え制御プログラムで実行) リードアレイコマンド実行 (注3) FMR01ビットに“0”(CPU書き換えモード無効)を書く 注1. CM0レジスタのCM06ビット、CM1レジスタのCM17∼CM16ビットでCPUクロックを10MHz以下 にしてください。また、PM1レジスタのPM17ビットを“1”(ウエイトあり) にしてください。 注2. FMR01ビットを“1”にする場合、FMR01ビットに“0”を書いた後、続けて“1”を書い てください。“0”を書いた後、“1”を書くまでに割り込み、DMA転送が入らないように してください。 FMR01ビットへの書き込みは内蔵フラッシュメモリ以外の領域で行ってください。また、 NMI端子が“H”の状態で行ってください。 注3. リードアレイコマンドを実行した後、CPU書き換えモードを無効にしてください。 注4. FMR05ビットが“1”の場合は、ユーザROM領域アクセスになります。 注5. CPU書き換えモードではPM1レジスタのPM10ビット、PM13ビットが“1”になります。 書き換え制御プログラムを実行する領域は内部RAMで実行してください。 ブートモードのみ FMR05ビットを“0”(ブートROM領域アクセス)に する(注4) フラッシュメモリの任意の番地へジャンプ 図4.2.5. EW0モードの設定と解除方法 EW1モード実行手順 ROM上でのプログラム シングルチップモード (注1) CM0、CM1、PM1レジスタの設定 (注2) FMR01ビットに“0”を書いた後、“1”(CPU書き換え モード有効)を書く FMR11ビットに“0”を書いた後、“1”(EW1モード) を書く(注3) ソフトウエアコマンド実行 FMR01ビットに“0”(CPU書き換えモード無効)を書く 注1. EW1モードでは、ブートモードに設定しないでください。 注2. CM0レジスタのCM06ビット、CM1レジスタのCM17∼CM16ビットでCPUクロックを10MHz以下 にしてください。また、PM1レジスタのPM17ビットを“1”(ウエイトあり) にしてください。 注3. FMR01ビットを“1”にする場合、FMR01ビットに“0”を書いた後、続けて“1”を書い てください。“0”を書いた後、“1”を書くまでに割り込み、DMA転送が入らないように してください。 また、NMI端子が“H”の状態で行ってください。 図4.2.6. EW1モードの設定と解除方法 Rev.1.00 2004.03.01 page 272 of 311 M306H3MC-XXXFP/FCFP 低消費電力モードプログラム 低消費電力モードプログラムを フラッシュメモリ以外の領域に転送 フラッシュメモリ以外の領域に転送した低消費電力 モードプログラムへジャンプ (以下の処理はフラッシュメモリ以外の領域上のプログ ラムで実行) FMR01ビットに“0”を書き込んだ後、“1”(CPU書き換え モード有効)を書き込む FMSTPビットに“1”(フラッシュメモリ停止。低消費電力 状態)を書き込む (注1) CPUクロックのクロック源 切り替え メインクロック停止 (注2) 低消費電力モードでの処理 注1. FMR01ビットを“1”(CPU書き換えモード)にした後でFMSTPビットを“1”に してください。 注2. CPUクロックのクロック源をメインクロック又はサブクロックに切り替える場合、 切り替え先のクロックが安定してから切り替えてください。 注3. プログラムでtpsの待ち時間を設けてください。 この待ち時間内は、フラッシュメモリにアクセスしないでください。 メインクロック発振→発振安定待ち→ CPUクロックのクロック源切り替え(注2) FMSTPビットに“0”(フラッシュメモリ動作)を書く FMR01ビットに“0”(CPU書き換えモード無効)を書く フラッシュメモリ回路安定待ち(tps)(注3) フラッシュメモリの任意の番地へジャンプ 図4.2.7. 低消費電力モード前後の処理 Rev.1.00 2004.03.01 page 273 of 311 M306H3MC-XXXFP/FCFP CPU書き換えモードの注意事項 (1)動作速度 CPU書き換えモード(EW0、EW1モード)に入る前に、CM0レジスタのCM06ビット、CM1レジスタ のCM17∼CM16ビットで、CPUクロックを10MHz以下にしてください。また、PM1レジスタのPM17 ビットは“1”(ウエイトあり)にしてください。 (2)使用禁止命令 EW0モードでは、次の命令はフラッシュメモリ内部のデータを参照するため使用できません。 UND命令、INTO命令、JMPS命令、JSRS命令、BRK命令 (3)割り込み EW0モード ・可変ベクタテーブルにベクタを持つ割り込みは、ベクタをRAM領域に移すことで使用できます。 ________ ・NMI割り込み、監視タイマ割り込みは、割り込み発生時に強制的にFMR0レジスタ、FMR1レジ スタが初期化されるので使用できます。固定ベクタテーブルに各割り込みの飛び先番地を設定 ________ してください。NMI割り込み、監視タイマ割り込み発生時は、書き換え動作が中止されるので、 割り込みルーチン終了後、再度、書き換えプログラムを実行してください。 ・アドレス一致割り込みはフラッシュメモリ内部のデータを参照するため使用できません。 EW1モード ・自動書き込み、自動消去の期間に、可変ベクタテーブルにベクタを持つ割り込みや、アドレス 一致割り込みが受け付けられないようにしてください。 ・監視タイマ割り込みは使用しないでください。 ________ ・NMI割り込みは、割り込み発生時に強制的にFMR0レジスタ、FMR1レジスタが初期化されるの で使用できます。固定ベクタテーブルに各割り込みルーチンの飛び先番地を設定してください。 ________ NMI割り込み発生時は、書き換え動作が中止されるので、割り込みルーチン終了後、再度、書 き換えプログラムを実行してください。 (4)アクセス方法 FMR01ビット、FMR02ビット、FMR11ビットを“1”にする場合、対象となるビットに“0”を書 いた後、続けて“1”を書いてください。なお、“0”を書いた後、“1”を書くまでに割り込み、DMA ________ 転送が入らないようにしてください。また、NMI端子に“H”を入力した状態で行ってください。 (5)ユーザROM領域の書き換え EW0モード ・書き換え制御プログラムが格納されているブロックを書き換えている最中に電源電圧が低下す ると、書き換え制御プログラムが正常に書き換えられないため、その後フラッシュメモリの書 き換えができなくなる可能性があります。この場合、標準シリアル入出力モードまたはパラレ ル入出力モードを使用してください。 EW1モード ・書き換え制御プログラムが格納されているブロックを書き換えないでください。 (6)DMA転送 EW1モードでは、FMR0レジスタのFMR00ビットが“0”(自動書き込み、自動消去の期間)にDMA 転送が入らないようにしてください。 Rev.1.00 2004.03.01 page 274 of 311 M306H3MC-XXXFP/FCFP (7)コマンド、データの書き込み コマンドコード、データは偶数番地に書いてください。 (8)ウエイトモード ウエイトモードに移行する場合は、FMR01ビットを“0”(CPU書き換えモード無効)にした後、WAIT 命令を実行してください。 (9)ストップモード ストップモードに移行する場合は、次のようにしてください。 ・FMR01ビットを“0”(CPU書き換えモード無効)にし、DMA転送を禁止した後で、CM10ビット を“1”(ストップモード)にする ・CM10ビットを“1”にする命令の次にJMP.B命令を実行する プログラム例 BSET 0, CM1 ;ストップモード JMP.B L1 L1: ストップモード復帰後のプログラム (10)低消費電力モード CM05ビットが“1”(メインクロック停止)のときは、次のコマンドを実行しないでください。 ・プログラム ・ブロックイレーズ ・イレーズ全アンロックブロック ・ロックビットプログラム Rev.1.00 2004.03.01 page 275 of 311 M306H3MC-XXXFP/FCFP 4.3 ソフトウエアコマンド ソフトウエアコマンドについて次に説明します。コマンド、データの読み出し、書き込みは16ビット 単位で、ユーザROM領域内の偶数番地に行ってください。コマンドコード書き込み時、上位8ビット(D15 ∼D8)は無視されます。 表4.3.1. ソフトウエアコマンド一覧表 第1バスサイクル ソフトウエアコマンド モード 第2バスサイクル アドレス データ (D15∼D0) モード リード × WA BA アドレス データ (D15∼D0) リードアレイ リードステータスレジスタ ライト ライト × × xxFF16 xx7016 クリアステータスレジスタ ライト × xx5016 プログラム ブロックイレーズ ライト ライト WA × xx4016 xx2016 ライト ライト イレーズ全アンロックブロック(注1) ライト × xxA716 ライト × xxD016 ロックビットプログラム リードロックビットステータス ライト ライト BA × xx7716 xx7116 ライト ライト BA BA xxD016 xxD016 SRD WD xxD016 注1. イレーズ全アンロックブロックコマンドで消去されるブロックは、ブロック0∼ブロック6です。 SRD:ステータスレジスタデータ(D7∼D0)。 WA:書き込み番地(第1バスサイクルアドレスは、第2バスサイクルアドレスと同一偶数番地にしてください。) WD:書き込みデータ(16ビット) BA:ブロックの最上位番地(ただし、偶数番地) ×:ユーザROM領域内の任意の偶数番地 xx:コマンドコード上位8ビット(無視されます) リードアレイ フラッシュメモリを読むコマンドです。 第1バスサイクルで“xxFF16”を書くと、リードアレイモードになります。次のバスサイクル以降 で読む番地を入力すると、指定した番地の内容が16ビット単位で読めます。 リードアレイモードは、他のコマンドが書かれるまで保持されるので、複数の番地の内容を続けて 読めます。 リードステータスレジスタ ステータスレジスタを読むコマンドです。 第1バスサイクルで“xx7016”を書くと、第2バスサイクルでステータスレジスタが読めます(「ステー タスレジスタ」参照)。なお、読むときもユーザROM領域内の偶数番地を読んでください。 EW1モードでは、このコマンドを実行しないでください。 Rev.1.00 2004.03.01 page 276 of 311 M306H3MC-XXXFP/FCFP クリアステータスレジスタ ステータスレジスタを“0”にするコマンドです。 第1バスサイクルで“xx5016”を書くと、FMR0レジスタのFMR06∼FMR07ビットとステータスレジ スタのSR4∼SR5が“0”になります。 プログラム 1ワード(2バイト)単位でフラッシュメモリにデータを書くコマンドです。 第1バスサイクルで“xx4016”を書き、第2バスサイクルで書き込み番地にデータを書くと自動書き 込み(データのプログラムとベリファイ)を開始します。第1バスサイクルにおけるアドレス値は、第2 バスサイクルで指定する書き込み番地と同一かつ偶数番地にしてください。 自動書き込み終了はFMR0レジスタのFMR00ビットで確認できます。FMR00ビットは、自動書き込 み期間中は“0”、終了後は“1”になります。 自動書き込み終了後、FMR0レジスタのFMR06ビットで自動書き込みの結果を知ることができます (「フルステータスチェック」参照)。 なお、各ブロックはロックビットにより、プログラムを禁止できます(「データ保護機能」参照)。 既にプログラムされた番地には追加書き込みをしないでください。 EW1モードでは、書き換え制御プログラムが配置されている番地に対して、このコマンドを実行し ないでください。 EW0モードでは、自動書き込み開始とともにリードステータスレジスタモードとなり、ステータス レジスタが読めます。ステータスレジスタのビット7(SR7)は自動書き込み開始とともに“0”となり、 終了とともに“1”に戻ります。この場合のリードステータスレジスタモードは、次にリードコマン ドを書くまで継続されます。また、自動書き込み終了後、ステータスレジスタを読み出すことにより、 自動書き込みの結果を知ることができます。 スタート コマンドコード“xx4016” を書き込み番地に書く 書き込み番地に データを書く FMR00=1? NO YES フルステータスチェック プログラム 完了 注1. コマンドコード、データは偶数番地に書いてください。 図4.3.1. プログラムフローチャート Rev.1.00 2004.03.01 page 277 of 311 M306H3MC-XXXFP/FCFP ブロックイレーズ 第1バスサイクルで“xx2016”、第2バスサイクルで“xxD016”をブロックの最上位番地(ただし、偶 数番地)に書くと指定されたブロックに対し、自動消去(イレーズとイレーズベリファイ)を開始します。 自動消去の終了は、FMR0レジスタのFMR00ビットで確認できます。 FMR00ビットは、自動消去期間中は“0”、終了後は“1”になります。 自動消去終了後、FMR0レジスタのFMR07ビットで、自動消去の結果を知ることができます(「フル ステータスチェック」参照)。 図4.3.2にブロックイレーズのフローチャート例を示します。 なお、各ブロックはロックビットにより、イレーズを禁止できます(「データ保護機能」参照)。 EW1モードでは、書き換え制御プログラムが配置されているブロックに対して、このコマンドを実 行しないでください。 EW0モードでは、自動消去開始とともにリードステータスレジスタモードとなり、ステータスレジ スタが読めます。ステータスレジスタのビット7(SR7)は自動消去の開始とともに“0”となり、終了 とともに“ 1”に戻ります。この場合のリードステータスレジスタモードは、次にリードアレイコマ ンドまたはリードロックビットステータスコマンドを書くまで継続されます。 スタート コマンドコード“xx2016” を書く ブロックの最上位番地に “xxD016”を書く NO FMR00=1? YES YES フルステータスチェック ブロックイレーズ完了 注1. コマンドコード、データは偶数番地に書いてください。 図4.3.2. ブロックイレーズフローチャート Rev.1.00 2004.03.01 page 278 of 311 M306H3MC-XXXFP/FCFP イレーズ全アンロックブロック 第1バスサイクルで“xxA716”、第2バスサイクルで“xxD016”を書くと、全ブロックに対し、連続 的にブロックイレーズを行います。 自動消去の終了は、FMR0レジスタのFMR00ビットで確認できます。自動消去の結果はFMR0レジ スタのFMR07ビットで確認できます。 なお、各ブロックはロックビットにより、イレーズを禁止できます(「データ保護機能」参照)。 EW1モードでは、書き換え制御プログラムが配置されているブロックのロックビットが“1”(非ロッ ク)、またはFMR0レジスタのFMR02ビットが“1”(ロックビット無効)のとき、このコマンドを実行し ないでください。 EW0モードでは、自動消去開始とともにリードステータスレジスタモードとなり、ステータスレジ スタが読めます。ステータスレジスタのビット7(SR7)は自動消去の開始とともに“0”となり、終了 とともに“ 1”に戻ります。この場合のリードステータスレジスタモードは、次にリードアレイコマ ンドまたはリードロックビットステータスコマンドを書くまで継続されます。 また、本コマンドで消去されるブロックは、ブロック0∼ブロック6です。 ロックビットプログラム 任意のブロックのロックビットを“0”(ロック状態)にするコマンドです。 第1バスサイクルで“xx7716”、第2バスサイクルで“xxD016”をブロックの最上位番地(ただし、偶 数番地)に書くと指定されたブロックのロックビットに“0”が書かれます。第1バスサイクルにおけ るアドレス値は、第2バスサイクルで指定するブロックの最上位番地と同一にしてください。 図4.3.3にロックビットプログラムのフローチャート例を示します。ロックビットの状態(ロックビッ トデータ)は、リードロックビットステータスコマンドで読めます。 書き込みの終了は、FMR0レジスタのFMR00ビットで確認できます。 なお、ロックビットの機能、ロックビットを“1”にする方法については、「データ保護機能」を 参照してください。 スタート コマンドコードを“xx7716” ブロックの最上位番地に書く ブロックの最上位番地に “xxD016”を書く FMR00=1? NO YES フルステータス チェック ロックビットプログラム 完了 注1. コマンドコード、データは偶数番地に書いてください。 図4.3.3. ロックビットプログラムフローチャート Rev.1.00 2004.03.01 page 279 of 311 M306H3MC-XXXFP/FCFP リードロックビットステータス 任意のブロックのロックビットの状態を読むコマンドです。 第1バスサイクルで“xx7116”、第2バスサイクルでブロックの最上位番地(ただし、偶数番地)に “xxD016”を書くと、ブロックのロックビットの状態がFMR1レジスタのFMR16ビットに格納されま す。FMR0レジスタのFMR00ビットが“1”(レディ)になった後、FMR16ビットを読んでください。 図4.3.4にリードロックビットプログラムのフローチャート例を示します。 スタート コマンドコード“xx7116” を書く ブロックの最上位番地に xxD016”を書く FMR00=1? NO YES FMR16=0? NO YES ロック状態 非ロック状態 注1. コマンドコード、データは偶数番地に書いてください。 図4.3.4. リードロックビットステータスフローチャート Rev.1.00 2004.03.01 page 280 of 311 M306H3MC-XXXFP/FCFP データ保護機能 フラッシュメモリの各ブロックは、不揮発性のロックビットを持っています。ロックビットは、FMR02 ビットが“0”(ロックビット有効)のとき有効です。ロックビットにより、ブロックごとにプログラム、 イレーズを禁止(ロック)できます。したがって、誤ってデータを書いたり、消したりすることを防げま す。ロックビットによるブロックの状態を次に示します。 ・ロックビットが“0”のとき:ロック状態(そのブロックはプログラム、イレーズできない) ・ロックビットが“1”のとき:非ロック状態(そのブロックはプログラム、イレーズできる) ロックビットは、ロックビットプログラムコマンドを実行すると、“0”(ロック状態)に、ブロックを 消去すると“1”(非ロック状態)になります。ロックビットをコマンドで“1”にできません。 また、ロックビットの状態は、リードロックビットステータスコマンドで読めます。 FMR02ビットを“1”にすると、ロックビットの機能が無効になり、全ブロックが非ロック状態にな ります(各ロックビットは変化しません)。FMR02ビットを“0”にすると、ロックビットの機能が有効に なります(ロックビットは保持されています)。 FMR02ビットが“1”の状態で、ブロックイレーズコマンドまたはイレーズ全アンロックブロックコ マンドを実行すると、ロックビットにかかわらず、対象となるブロックまたは全ブロックが消去されま す。消去終了後、各ブロックのロックビットは“1”になります。 各コマンドの詳細は、「ソフトウエアコマンド」を参照してください。 ステータスレジスタ ステータスレジスタは、フラッシュメモリの動作状態やイレーズ、プログラムの正常、エラー終了な どの状態を示すレジスタです。ステータスレジスタの状態はFMR0レジスタのFMR00、FMR06、FMR07 ビットで読めます。 表4.3.2にステータスレジスタを示します。 なお、EW0モードでは次のときステータスレジスタを読めます。 (1) リードステータスレジスタコマンドを書いた後、ユーザROM領域内の任意の偶数番地を読んだと き (2) プログラムコマンド、ブロックイレーズコマンド、イレーズ全アンロックブロックコマンド、ま たはロックビットコマンド実行後、リードアレイコマンドを実行するまでの期間に、ユーザROM領 域内の任意の偶数番地を読んだとき シーケンサステータス(SR7、FMR00ビット) シーケンサステータスはフラッシュメモリの動作状況を示します。自動書き込み、自動消去、ロッ クビット書き込み中は“0” (ビジー)になり、これらの動作終了とともに“1”(レディ)になります。 イレーズステータス(SR5、FMR07ビット) 「フルステータスチェック」を参照してください。 プログラムステータス(SR4、FMR06ビット) 「フルステータスチェック」を参照してください。 Rev.1.00 2004.03.01 page 281 of 311 M306H3MC-XXXFP/FCFP 表4.3.2. ステータスレジスタ ステータス レジスタの ビット FMR0 レジスタの ビット 内容 ステータス名 リセット後 の値 “0” “1” ビジー レディ 1 − − SR7 (D7) FMR00 SR6 (D6) − SR5 (D5) FMR07 イレーズステータス 正常終了 エラー終了 − 0 SR4 (D4) FMR06 プログラムステータス 正常終了 エラー終了 0 − − − − − − シーケンサステータス リザーブ SR2 (D2) − − リザーブ SR1 (D1) − リザーブ − − − SR0 (D0) − リザーブ − − − SR3 (D3) リザーブ D0∼D7:リードステータスレジスタコマンドを実行したときに読み出されるデータバスを示す。 FMR07ビット(SR5)、FMR06ビット(SR4)は、クリアステータスレジスタコマンドを実行すると“0”になります。 FMR07ビット(SR5)またはFMR06ビット(SR4)が“1”の場合、プログラム、ブロックイレーズ、イレーズ全アンロック ブロック、ロックビットプログラムコマンドは受け付けられません。 Rev.1.00 2004.03.01 page 282 of 311 M306H3MC-XXXFP/FCFP フルステータスチェック エラーが発生すると、FMR0レジスタのFMR06∼FMR07ビットが“1”になり、各エラーの発生を示し ます。したがって、これらのステータスをチェック(フルステータスチェック)することにより、実行結 果を確認できます。 表4.3.3にエラーとFMR0レジスタの状態を、図4.3.5にフルステータスチェックフローチャートと各エラー 発生時の対処方法を示します。 表4.3.3. エラーとFMR0レジスタの状態 FMR00レジスタ(ステータス レジスタ)の状態 FMR07 FMR06 (SR5) (SR4) 1 1 エラー エラー発生条件 コマンド ・コマンドを正しく書かなかったとき シーケンス ・ロックビットプログラム、ブロックイレーズ、または エラー イレーズ全アンロックブロックコマンドの第2バスサイクル のデータに書いてもよい値(“xxD016”または“xxFF16”)以 外のデータを書いたとき(注1) 1 0 イレーズエラー ・ロックされたブロックにブロックイレーズコマンドを実行 したとき(注2) ・ロックされていないブロックにブロックイレーズまたはイ レーズ全アンロックブロックコマンドを実行し、正しく自 動消去されなかたとき 0 1 プログラムエラー ・ロックされたブロックにプログラムコマンドを実行したと き(注2) ・ロックされていないブロックにプログラムコマンドを実行 し、正しく自動書き込みされなかったとき ・ロックビットプログラムコマンドを実行し、正しく書き込ま れなかったとき 注1.これらのコマンドの第2バスサイクルで“xxFF16”を書くと、リードアレイモードになり、同時に、第1バスサイ クルで書いたコマンドコードは無効になります。 注2.FMR02ビットが“1”(ロックビット無効)の場合は、これらの条件でもエラーは発生しません。 Rev.1.00 2004.03.01 page 283 of 311 M306H3MC-XXXFP/FCFP フルステータスチェック FMR06=1 and FMR07=1? YES コマンドシーケンス エラー (1)クリアステータスレジスタコマンドを実行し、これらのステータスフラグを“0”にして ください。 (2)コマンドが正しく入力されているか確認の上、もう一度動作させてください。 NO NO FMR07=0? イレーズエラー YES NO プログラムエラー FMR06=0? (1)クリアステータスレジスタコマンドを実行し、イレーズステータスフラグを“0”にして ください。 (2)リードロックビットステータスコマンドを実行し、エラーが発生したブロックのロック ビットが“0”であれば、FMR0レジスタのFMR02ビットを“1”にしてください。 (3)再度、ブロックイレーズまたはイレーズ全アンロックブロックコマンドを実行してくださ い。 注1. それでもエラーが出る場合は、そのブロックを使用できません。 また、上記(2)でロックビットが“1”である場合も、そのブロックは使用できません。 [プログラム実行時] (1)クリアステータスレジスタコマンドを実行し、プログラムステータスフラグを“0”に してください。 (2)リードロックビットステータスコマンドを実行し、エラーが発生したブロックのロック ビットが“0”であれば、FMR0レジスタのFMR02ビットを“1”にしてください。 (3)再度、プログラムコマンドを実行してください。 注2. それでもエラーが出る場合は、そのブロックを使用できません。 また、上記(2)でロックビットが“1”である場合も、そのブロックは使用できません。 [ロックビットプログラム実行時] (1)クリアステータスレジスタコマンドを実行し、プログラムステータスフラグを“0”に してください。 (2)FMR0レジスタのFMR02ビットを“1”にしてください。 (3)ブロックイレーズコマンドを実行し、エラーが発生したブロックをイレーズしてください。 (4)再度、ロックビットプログラムコマンドを実行してください。 YES 注3. それでもエラーが出る場合は、そのブロックを使用できません。 フルステータスチェック完了 注4. FMR06、FMR07のいずれかが“1”のときは、プログラム、ブロックイレーズ、イレーズ全アンロックブロック、ロックビットプログラム、リードロック ビットステータスの各コマンドは受け付けられません。クリアステータスレジスタコマンドを実行した後、各コマンドを実行してください。 図4.3.5. フルステータスチェックフロチャート、各エラー発生時の対処方法 Rev.1.00 2004.03.01 page 284 of 311 M306H3MC-XXXFP/FCFP 標準シリアル入出力モード 標準シリアル入出力モードでは、本製品に対応したシリアルライタを使用して、マイクロコンピュータ を基板に実装した状態で、ユーザROM領域を書き換えることができます。シリアルライタについては、各 メーカにお問い合わせください。また、シリアルライタの操作方法については、シリアルライタのユーザー ズマニュアルを参照してください。 表4.3.4に端子の機能説明(フラッシュメモリ標準シリアル入出力モード)を、図4.3.7に標準シリアル入出 力モード時の端子結線図を示します。 IDコードチェック機能 シリアルライタから送られてくるIDコードと、フラッシュメモリに書かれているIDコードが一致する かどうかを判定します(「フラッシュメモリ書き換え禁止機能」参照)。 Rev.1.00 2004.03.01 page 285 of 311 M306H3MC-XXXFP/FCFP 表4.3.4. 端子の機能説明(フラッシュメモリ標準シリアル入出力モード) 端子名 名 称 VCC,VSS 電源入力 CNVSS CNVSS RESET M1 START 入出力 機 能 VCC端子には4.75∼5.25Vを、VSS端子には0Vを入力してください。 入力 VCCに接続してください。 リセット入力 入力 リセット入力端子です。RESET端子が"L"の間、XIN端子には20サイクル以上のクロックを入力してください。 モード選択 入力 VSSに接続してください。 発振選択入力 入力 VCCに接続してください。 BYTE入力 入力 Vssに接続してください。 XIN クロック入力 入力 XOUT クロック出力 出力 XIN端子とXOUT端子の間にはセラミック共振子、または水晶振動子を接続してください。外部で 生成したクロックを入力するときは、XINから入力しXOUTは開放してください。 BYTE AVCC、AVSS AVCCはVCCに、AVSS はVSS に接続してください。 アナログ電源入力 AD変換器の基準電圧入力端子です。 VREF 基準電圧入力 P00∼P07 入力ポートP0 入力 "H"を入力、"L"を入力、または開放してください。 P10∼P17 入力ポートP1 入力 "H"を入力、"L"を入力、または開放してください。 P20∼P27 入力ポートP2 入力 "H"を入力、"L"を入力、または開放してください。 P30∼P37 入力ポートP3 入力 "H"を入力、"L"を入力、または開放してください。 P40∼P47 入力ポートP4 入力 "H"を入力、"L"を入力、または開放してください。 CE入力 入力 "H"を入力してください。 P51∼P57 入力ポートP5 入力 "H"を入力、"L"を入力、または開放してください。 P60∼P63 入力ポートP6 入力 "H"を入力、"L"を入力、または開放してください。 P64/RTS1 BUSY出力 出力 標準シリアル入出力モード1:BUSY信号の出力端子です。 P50 標準シリアル入出力モード2:ブートプログラム動作チェック用モニタ信号出力端子です。 SCLK入力 P65/CLK1 入力 標準シリアル入出力モード1:シリアルクロックの入力端子です。 標準シリアル入出力モード2:"L"を入力してください。 P66/RXD1 RXD入力 入力 シリアルデータの入力端子です。 P67/TXD1 TXD出力 出力 シリアルデータの出力端子です。(注1) P70∼P77 入力ポートP7 入力 "H"を入力、"L"を入力、または開放してください。 P80∼P84、P86、P87 入力ポートP8 入力 "H"を入力、"L"を入力、または開放してください。 P85/NMI NMI入力 入力 VCCに接続してください。 P90∼P97 入力ポートP9 入力 "H"を入力、"L"を入力、または開放してください。 P100∼P107 入力ポートP10 入力 "H"を入力、"L"を入力、または開放してください。 P11 出力ポートP11 出力 開放してください。 VDD2、VSS2 電源入力 VDD2端子はVCCに、VSS2端子はVSSに接続してください。 VDD3、VSS3 電源入力 VDD3端子はVCCに、VSS3端子はVSSに接続してください。 LP2∼LP4 フィルタ出力 出力 開放してください。 同期信号発生用fsc 入力端子 入力 開放してください。 複合ビデオ入力 入力 "H"を入力、"L"を入力、または開放してください。 同期スライス レベル入力 入力 同期信号をスライスする際のスライス電位入力端子です。 FSCIN CVIN1、SYNCIN SVREF 注1. 標準シリアル入出力モード1を使用する場合、RESET端子が“L”の期間中TxD端子に“H”を入力する必要があります。そのため、この端子を 抵抗を介してVCCに接続してください。リセット後この端子はデータ出力端子になりますので、データ転送に影響を与えないようプルアップ 抵抗値をシステム上で調整してください。 Rev.1.00 2004.03.01 page 286 of 311 P42 P40 P41 P37 P35 P36 P34 VCC VCC P31 P32 P33 VSS P30 P24 P25 P26 P27 P21 P22 P23 P17/INT5 P20 P16/INT4 P13 P14 P15/INT3 P11 P12 P10 VSS M306H3MC-XXXFP/FCFP 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 88 58 89 57 P43 P44 90 56 P45 P04 P03 91 55 P46 92 54 P02 P01 93 53 P47 P50 94 52 P00 95 51 P51 P52 P107/AN7/KI3 P106/AN6/KI2 P105/AN5/KI1 96 50 P53 97 49 P54 98 48 P55 P104/AN4/KI0 99 47 P103/AN3 P102/AN2 P101/AN1 AV SS 100 46 P56 P57/CLKOUT P60/CTS0/RTS0 P100/AN0 VREF AV CC 101 45 M306H3FCFP 43 P61/CLK0 P62/RXD0 104 42 P63/TXD0 105 41 106 40 P64/CTS1/RTS1/CLKS1 P65/CLK1 107 39 P66/RXD1 108 38 109 37 SVREF TEST2 110 36 P67/TXD1 P11/SLICEON M1 111 35 VDD3 CVIN1 VSS3 112 34 113 33 114 32 LP3 115 31 116 30 LP2 VSS2 RESET CE VSS モード設定方法 信号線名 CNVss M1 値 Vcc Vss VSS Vss→Vcc Vcc 2004.03.01 page 287 of 311 P72/CLK2/TA1 OUT P71/RXD2/SCL/TA0 IN/TB5IN P70/TXD2/SDA/TA0 OUT P74/TA2 OUT P73/CTS2/RTS2/TA1 IN P75/TA2 IN P77/TA3 IN P76/TA3 OUT P81/TA4 IN P80/TA4 OUT P83/INT1 P82/INT0 P85/NMI 注1. 発振回路を接続 図4.3.6. 標準シリアル入出力モード時の端子結線図 Rev.1.00 P84/INT2 (注1) XIN 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Vcc 8 VCC 7 XOUT Vss 6 RESET 5 RESET 4 P87/XCIN P86/XCOUT 3 44 CNVss 2 VCC 1 P90/TB0IN/CLK3 BYTE FSCIN P96/ANEX1/SOUT4 P92/TB2IN/SOUT3 P91/TB1IN/SIN3 SYNCIN P93/DA0/TB3IN/JSTIN P97/ADTRG/SIN4 START 103 P95/ANEX0/CLK4 VCC 102 P94/DA1/TB4IN/RMTIN VSS P07 P06 P05 TEST1 VDD2 LP4 CE BUSY SCLK RXD TXD VSS VCC VSS M306H3MC-XXXFP/FCFP 標準シリアル入出力モード1時の端子処理例 図4.3.7に標準シリアル入出力モード1を使用する場合の端子処理例、図4.3.8に標準シリアル入出力 モード2を使用する場合の端子処理例を示します。ライタによって制御するピンなどが違いますので、 詳細はライタのマニュアルを参照してください。 マイクロコンピュータ P65/CLK1 SCLK入力 P50(CE) TXD出力 P67/TXD1 BUSY出力 P64/RTS1 RXD入力 P66/RXD1 リセット入力 M1 CNVss RESET ユーザリセット 信号 P85/NMI START BYTE (1) ライタによって制御する端子、外付け回路が違います。詳しくは、ライタのマニュアルを参照して ください。 (2) この例では、スイッチでCNVSS入力を制御することによって、シングルチップモードと標準シリア ル入出力モードを切り替えています。 (3) 標準シリアル入出力モード1でユーザリセット信号がシリアル入出力モード中に“L”になる可能性 のある場合は、ジャンパスイッチなどを使用してユーザリセット信号とRESET端子との結線を遮断 してください。 図4.3.7. 標準シリアル入出力モード1を使用する場合の端子処理例 Rev.1.00 2004.03.01 page 288 of 311 M306H3MC-XXXFP/FCFP マイクロコンピュータ P65/CLK1 P50(CE) TXD出力 P67/TXD1 M1 モニタ出力 P64/RTS1 RXD入力 P66/RXD1 CNVss P85/NMI START BYTE (1) この例では、スイッチでCNVSS入力を制御することによって、シングルチップモードと標準シリア ル入出力モードを切り替えています。 図4.3.8. 標準シリアル入出力モード2時の端子処理例 Rev.1.00 2004.03.01 page 289 of 311 M306H3MC-XXXFP/FCFP パラレル入出力モード パラレル入出力モードでは、本製品に対応したパラレルライタを使用して、ユーザROM領域とブート ROM領域を書き換えられます。パラレルライタについては、各メーカにお問い合わせください。また、 パラレルライタの操作方法については、パラレルライタのユーザーズマニュアルを参照してください。 ユーザROM領域とブートROM領域 ブートROM領域のイレーズブロックは4Kバイト単位の1ブロックのみです。ブートROM領域は、出荷 時に標準シリアル入出力モードの書き換え制御プログラムが書かれます。したがって、シリアルライタ を使用される場合には、ブートROM領域を書き換えないでください。 ブートROM領域は、パラレル入出力モードでは、 0FF00016∼0FFFFF16 番地に配置されています。ブー トROM領域を書き換える必要がある場合、この範囲のみ書き換えてください(0FF00016∼0FFFFF16番地以 外へはアクセスしないでください)。 ROMコードプロテクト機能 フラッシュメモリの読み出しや書き換えを禁止する機能です(「フラッシュメモリ書き換え禁止機能」 参照)。 Rev.1.00 2004.03.01 page 290 of 311 M306H3MC-XXXFP/FCFP 5. パッケージ寸法図 116P6A-A MMP EIAJ Package Code LQFP116-P-2020-0.65 Plastic 116pin 20✕20mm body LQFP Weight(g) 1.78 Lead Material Cu Alloy MD HD D ME b2 e JEDEC Code – l2 116 88 Recommended Mount Pad 1 87 Symbol E HE A A1 A2 b c D E e HD HE L L1 Lp 59 29 30 58 A L1 F b x M L Lp Detail F Rev.1.00 2004.03.01 page 291 of 311 c y A1 A2 A3 e A3 x y b2 I2 MD ME Dimension in Millimeters Min Nom Max 1.7 – – 0.125 0.2 0.05 1.4 – – 0.17 0.22 0.27 0.105 0.125 0.175 19.9 20.0 20.1 19.9 20.0 20.1 0.65 – – 21.8 22.0 22.2 21.8 22.0 22.2 0.35 0.5 0.65 1.0 – – 0.45 0.6 0.75 – 0.25 – – – 0.13 0.1 – – 0° 8° – 0.225 – – 0.95 – – – 20.4 – – 20.4 – M306H3MC-XXXFP/FCFP 6. 注意事項 外部バス注意事項 1. マイクロプロセッサモード及びメモリ拡張モードを使用する場合、マスクROM版では、CNVSS端子 をVCCに接続してください。フラッシュメモリ版では、CNVSS端子及びM1端子をVCCに接続してく ださい。 2. マスクROM版は、CNVss端子に“H”を入力してハードウエアリセットすると、内部ROMは読めま せん。フラッシュメモリ版は、CNVSS端子及びM1端子に“H”を入力してハードウエアリセットす ると、内部ROMは読めません。 パワーコントロール注意事項 1. ストップモードからリセットによって復帰する場合、メインクロックの発振が充分に安定するまで ___________ RESET端子に“L”を入力してください。 2. WAIT命令またはCM1レジスタのCM10ビットを“1”にする命令の後には、NOP命令を4つ以上入れ てください。ウエイトモードまたはストップモードに移行する場合、命令キューはWAIT命令やCM10 ビットを“1”(全クロック停止)にする命令より後の命令まで先読みしてプログラムが停止しますの で、命令の組み合わせや実行のタイミングによっては、ウエイトモードやストップモードに入る前 に次の命令を実行する場合があります。 3. CPUクロックのクロック源をメインクロックに切り替えるときは、td(M-L)とメインクロック発振安 定時間のうち、長い方を待ってから切り替えてください。 CPUクロックのクロック源をサブクロックに切り替えるときは、サブクロックの発振が安定してか ら切り替えてください。 4. 消費電力を小さくするためのポイント 消費電力を小さくするためのポイントを示します。システム設計やプログラムを作成するときに参 考にしてください。 ●ポート ウエイトモードまたはストップモードに移行しても入出力ポートの状態は保持します。アクティ ブ状態の出力ポートは電流が流れます。ハイインピーダンス状態になる入力ポートは貫通電流が 流れます。不要なポートは入力に設定し、安定した電位に固定してからウエイトモードまたはス トップモードに移行してください。 ●A-D変換器 A-D変換を行わない場合、ADCON1レジスタのVCUTビットを“0”(Vref未接続)にしてください。 なお、A-D変換を行う場合、VCUTビットを“1”(Vref接続)にしてから1μs以上経過した後、A-D 変換を開始させてください。 Rev.1.00 2004.03.01 page 292 of 311 M306H3MC-XXXFP/FCFP ●周辺機能の停止 ウエイトモード時にCM0レジスタのCM02ビットで、不要な周辺機能を停止させてください。 ただし、サブクロックから生成している周辺機能クロック(fC32)は停止しませんので、消費電力の 削減にはなりません。低速モードまたは低消費電力モードから、ウエイトモードに移行する場合 はCM02ビットを“0”(ウエイトモード時、周辺機能クロック停止しない)にしてウエイトモード に移行してください。 ●発振駆動能力の切り替え 発振が安定している場合、駆動能力を“LOW”にしてください。 ●外部クロック CPUのクロックに外部クロック入力を使用している場合、CM0レジスタのCM05ビットを“1”(停 止)にしてください。CM05ビットを“1”にすることでXOUT端子が動作しなくなり、消費電流が 小さくなります(外部クロック入力を使用している場合、CM05ビットにかかわらず、クロックは 入力されます)。 プロテクト注意事項 PRC2ビットを“1”(書き込み許可状態)にした後、任意の番地に書き込みを実行すると“0”(書き込み 禁止状態)になります。PRC2ビットで保護されるレジスタはPRC2ビットを“1”にした次の命令で変更し てください。PRC2ビットを“1”にする命令と次の命令の間に割り込みやDMA転送が入らないようにし てください。 割り込み注意事項 0000016番地の読み出し プログラムで0000016番地を読まないでください。マスカブル割り込みの割り込み要求を受け付け た場合、CPUは割り込みシーケンスの中で割り込み情報(割り込み番号と割り込み要求レベル)を0000016 番地から読みます。このとき、受け付けられた割り込みのIRビットが“0”になります。 プログラムで0000016番地を読むと、許可されている割り込みのうち、最も優先順位の高い割り込 みのIRビットが“0”になります。そのため、割り込みがキャンセルされたり、予期しない割り込み 要求が発生することがあります。 SPの設定 割り込みを受け付ける前に、SP(USP、ISP)に値を設定してください。リセット後、SP(USP、ISP)は “000016”です。そのため、SP(USP、ISP)に値を設定する前に割り込みを受け付けると、暴走の要因 となります。 ________ 特に、NMI割り込みを使用する場合は、プログラムの先頭でISPに値を設定してください。リセッ ________ ト後の先頭の1命令に限り、NMI割り込みを含むすべての割り込みが禁止されています。 ________ NMI割り込み ________ ________ 1. NMI割り込みは、禁止できません。使用しない場合は、NMI端子に抵抗を介してVCCに接続(プ ルアップ)してください。 ________ ________ 2. NMI端子は、P8レジスタのP8_5ビットを読むことで端子の値を読めます。P8_5ビットは、NMI 割り込みルーチンで、端子のレベルを判定する場合のみ読んでください。 ________ ________ 3. NMI端子に“L”を入力している場合、ストップモードに移行できません。NMI端子に“L”が 入力されている場合、CM1レジスタのCM10ビットが“0”に固定されています。 Rev.1.00 2004.03.01 page 293 of 311 M306H3MC-XXXFP/FCFP ________ ________ 4. NMI端子に“L”を入力している場合、ウエイトモードに移行しないでください。NMI端子に “L”が入力されている場合、CPUは停止しますがCPUクロックが停止しないため、消費電流 が減りません。この場合、その後の割り込みによって正常に復帰します。 ________ 5. NMI端子に入力する信号の“L”幅、“H”幅は、いずれもCPUクロックの2サイクル+300ns以 上にしてください。 割り込み要因の変更 割り込み要因を変更すると、割り込み制御レジスタのIRビットが“1”(割り込み要求あり)になるこ とがあります。割り込みを使用する場合は、割り込み要因を変更した後、IRビットを“0”(割り込み 要求なし)にしてください。 割り込み要因変更 割り込み禁止(注2、注3) 割り込み要因(周辺機能のモード等を含む)を変更 MOV命令を使用してIRビットを“0”(割り込み要求なし)にする(注3) 割り込み許可(注2、注3) 変更終了 IRビット : 要因を変更する割り込みの、割り込み制御レジスタのビット 注1. 上記の設定は個々に実行してください。2つ以上の設定を同時に(1命令で)実行しないで ください。 注2. INTi割り込み(i=0∼5)では、Iフラグを使用してください。 INTi割り込み以外の周辺機能による割り込みでは、割り込み要求を発生させないために、 割り込み要因となる周辺機能を停止させた後、割り込み要因を変更してください。この 場合、マスカブル割り込みをすべて禁止にしてよい場合はIフラグを使用してください。 マスカブル割り込みをすべて禁止にできない場合は、要因を変更する割り込みのILVL2 ∼ILVL0ビットを使用してください。 注3. 使用する命令とそれに伴う注意は「割り込み制御レジスタの変更」を参照してください。 図6.1. 割り込み要因の変更手順例 なお、ここで言う割り込み要因の変更とは、各ソフトウエア割り込み番号に割り当てられる割り込 み要因・極性・タイミングを替えるすべての要素を含みます。したがって、周辺機能のモード変更な どが割り込み要因・極性・タイミングに関与する場合は、これらを変更した後、IRビットを“0”(割 り込み要求なし)にしてください。周辺機能の割り込みは各周辺機能を参照してください。 図6.1に割り込み要因の変更手順例を示します。 Rev.1.00 2004.03.01 page 294 of 311 M306H3MC-XXXFP/FCFP ______ INT割り込み ________ ________ 1. INT0∼INT5端子に入力する信号には、CPUクロックに関係なくtw(INL)以上の“L”幅またはtw (INH)以上の“H”幅が必要です。 2. INT0IC∼INT5ICレジスタのPOLビット、IFSRレジスタのIFSR7∼IFSR0ビットを変更すると、 IRビットが“1”(割り込み要求あり)になることがあります。これらのビットを変更した後、IR ビットを“0”(割り込み要求なし)にしてください。 割り込み制御レジスタの変更 (1) 割り込み制御レジスタは、そのレジスタに対応する割り込み要求が発生しない箇所で変更して ください。割り込み要求が発生する可能性がある場合は、割り込みを禁止した後、割り込み制 御レジスタを変更してください。 (2) 割り込みを禁止して割り込み制御レジスタを変更する場合、使用する命令に注意してください。 IRビット以外のビットの変更 命令の実行中に、そのレジスタに対応する割り込み要求が発生した場合、IRビットが“1”(割 り込み要求あり)にならず、割り込みが無視されることがあります。このことが問題になる場 合は、次の命令を使用してレジスタを変更してください。 対象となる命令…AND、OR、BCLR、BSET IRビットの変更 IRビットを“0”(割り込み要求なし)にする場合、使用する命令によってはIRビットが“0”に ならないことがあります。IRビットはMOV命令を使用して“0”にしてください。 (3) Iフラグを使用して割り込みを禁止にする場合、次の参考プログラム例にしたがってIフラグの 設定をしてください。(参考プログラム例の割り込み制御レジスタの変更は(2)を参照してくだ さい。) 例1∼例3は内部バスと命令キューバッファの影響により割り込み制御レジスタが変更される前にI フラグが“1”(割り込み許可)になることを防ぐ方法です。 例1 : NOP命令で割り込み制御レジスタが変更されるまで待たせる例 INT_SWITCH1: FCLR I ;割り込み禁止 AND.B #00H,0055H ;TA0ICレジスタを“0016”にする NOP ; NOP FSET I ;割り込み許可 NOP命令の数は、次の通り PM20=1(1ウエイト)時、2個。PM20=0(2ウエイト)時、3個。HOLD使用時、4個。 Rev.1.00 2004.03.01 page 295 of 311 M306H3MC-XXXFP/FCFP 例2 : ダミーリードでFSET命令を待たせる例 INT_SWITCH2: FCLR I ;割り込み禁止 AND.B #00H,0055H ;TA0ICレジスタを“0016”にする MOV.W MEM,R0 ;ダミーリード FSET I ;割り込み許可 例3 : POPC命令でIフラグを変更する例 INT_SWITCH3: PUSHC FLG FCLR I ;割り込み禁止 AND.B #00H,0055H ;TA0ICレジスタを“0016”にする POPC FLG ;割り込み許可 監視タイマ割り込み 監視タイマ割り込み発生後は、監視タイマを初期化してください。 DMACの注意事項 DMAiCONレジスタのDMAEビットへの書き込み(i=0∼1) (a)に示す条件のときは、(b)に示す手順で書いてください。 (a) 条件 ・DMAEビットが“1”(DMAiがアクティブ状態)のとき、再度、DMAEビットへ“1”を書く。 ・DMAEビットへの書き込みと同時にDMA要求が発生する可能性がある。 (b) 手順 (1) DMAiCONレジスタのDMAEビットとDMASビットに同時に“1”を書く(注1)。 (2) DMAiが初期状態(注2)になっていることを、プログラムで確認する。 DMAiが初期状態になっていない場合は、(1)(2)を繰り返す。 注1. DMASビットは“1”を書いても変化しません。“0”を書くと“0”(DMA要求なし)になります。 したがって、DMAEビットへ“1”を書くために、DMAiCONレジスタへ書く場合、DMASへ書 く値を“1”にしておくと、DMASは書く直前の状態を保持できます。 DMAEビットへの書き込みに、リードモディファイライト命令を使用する場合も、DMASへ書く 値を“1”にしておくと、命令実行中に発生したDMA要求を保持できます。 注2. TCRiレジスタの値で確認してください。 TCRiレジスタを読んで、DMA転送開始前にTCRiレジスタへ書いた値(DMAEビット書き込み後 にDMA要求が発生した場合は「TCRiレジスタへ書いた値-1」)が読めれば初期状態になっている、 転送途中の値になっていれば初期状態になっていない、と判断できます。 Rev.1.00 2004.03.01 page 296 of 311 M306H3MC-XXXFP/FCFP タイマ注意事項 タイマA注意事項 (1) タイマA注意事項(タイマモード) 1. リセット後、タイマは停止しています。TAiMR(i=0∼4)レジスタ、TAiレジスタによって、モード やカウントソース、カウンタの値等を設定した後、TABSRレジスタのTAiSビットを“1”(カウン ト開始)にしてください。 なお、TAiMRレジスタは、リセット後に限らずTAiSビットが“0”(カウント停止)の状態で、変更 してください。 2. カウント中のカウンタの値は、TAiレジスタを読むことにより任意のタイミングで読めます。た だし、リロードタイミングで読んだ場合、“FFFF16”が読めます。また、カウント停止中にTAi レジスタに値を設定した後、カウンタがカウントを開始するまでの期間に読んだ場合、設定値が 読めます。 (2) タイマA注意事項(イベントカウンタモード) 1. リセット後、タイマは停止しています。TAiMR(i=0∼4)レジスタ、TAiレジスタ、UDFレジスタ、 ONSFレジスタのTAZIE、TA0TGL、TA0TGHビット、TRGSRレジスタによって、モードやカウン トソース、カウンタの値等を設定した後、TABSRレジスタのTAiSビットを“1”(カウント開始) にしてください。 なお、TAiMRレジスタ、UDFレジスタ、ONSFレジスタのTAZIE、TA0TGL、TA0TGHビット、 TRGSRレジスタは、リセット後に限らずTAiSビットが“0”(カウント停止)の状態で、変更して ください。 2. カウント中のカウンタの値は、TAiレジスタを読むことにより任意のタイミングで読めます。た だし、リロードタイミングで読んだ場合、アンダフロー時は“FFFF16”が、オーバフロー時は “000016”が読めます。カウント停止中にTAiレジスタに値を設定した後、カウンタがカウントを 開始するまでの期間に読んだ場合、設定値が読めます。 (3) タイマA注意事項(ワンショットタイマモード) 1. リセット後、タイマは停止しています。TAiMR(i=0∼4)レジスタ、TAiレジスタ、ONSFレジスタ のTA0TGL、TA0TGHビット、TRGSRレジスタによって、モードやカウントソース、カウンタの 値等を設定した後、TABSRレジスタのTAiSビットを“1”(カウント開始)にしてください。 なお、TAiMRレジスタ、ONSFレジスタのTA0TGL、TA0TGHビット、TRGSRレジスタは、リセッ ト後に限らずTAiSビットが“0”(カウント停止)の状態で、変更してください。 2. カウント中にTAiSビットを“0”(カウント停止)にすると次のようになります。 ・カウンタはカウントを停止し、リロードレジスタの内容をリロードします。 ・TAiOUT端子は“L”を出力します。 ・CPUクロックの1サイクル後、TAiICレジスタのIRビットが“1”(割り込み要求あり)になります。 3. ワンショットタイマの出力は内部で生成されたカウントソースに同期しているため、外部トリガ を選択している場合、TAiIN端子へのトリガ入力からワンショットタイマの出力までに、最大カウ ントソースの1サイクル分の遅延が生じます。 Rev.1.00 2004.03.01 page 297 of 311 M306H3MC-XXXFP/FCFP 4. 次のいずれかでタイマの動作モードを設定した場合、IRビットが“1”になります。 ・リセット後、ワンショットタイマモードを選択したとき ・動作モードをタイマモードからワンショットタイマモードに変更したとき ・動作モードをイベントカウンタモードからワンショットタイマモードに変更したとき したがって、タイマAi割り込み(IRビット)を使用する場合は、上記の設定を行った後、IRビット を“0”にしてください。 5. カウント中にトリガが発生した場合は、カウンタは再トリガ発生後1回ダウンカウントした後、リ ロードレジスタをリロードしてカウントを続けます。カウント中にトリガを発生させる場合は、 前回のトリガの発生からタイマのカウントソースの1サイクル以上経過した後に、再トリガを発生 させてください。 (4) タイマA注意事項(パルス幅変調モード) 1. リセット後、タイマは停止しています。TAiMR(i=0∼4)レジスタ、TAiレジスタ、ONSFレジスタ のTA0TGL、TA0TGHビット、TRGSRレジスタによって、モードやカウントソース、カウンタの 値等を設定した後、TABSRレジスタのTAiSビットを“1”(カウント開始)にしてください。 なお、TAiMRレジスタ、ONSFレジスタのTA0TGL、TA0TGHビット、TRGSRレジスタは、リセッ ト後に限らずTAiSビットが“0”(カウント停止)の状態で、変更してください。 2. 次のいずれかでタイマの動作モードを設定した場合、IRビットが“1”になります。 ・リセット後、PWMモードを選択したとき ・動作モードをタイマモードからPWMモードに変更したとき ・動作モードをイベントカウンタモードからPWMモードに変更したとき したがって、タイマAi割り込み(IRビット)を使用する場合は、上記の設定を行った後、プログラ ムでIRビットを“0”にしてください。 3. PWMパルスを出力中にTAiSビットを“0”(カウント停止)にすると次のようになります。 ・カウンタはカウントを停止します。 ・TAiOUT端子から“H”を出力している場合は、出力レベルは“L”になり、IRビットが“1”に なります。 ・TAiOUT端子から“L”を出力している場合は、出力レベルは変化せず、IRビットも変化しま せん。 Rev.1.00 2004.03.01 page 298 of 311 M306H3MC-XXXFP/FCFP タイマB注意事項 (1) タイマB注意事項(タイマモード) 1. リセット後、タイマは停止しています。TBiMR(i=0∼5)レジスタ、TBiレジスタによって、モード やカウントソース、カウンタの値等を設定した後、TABSRレジスタまたはTBSRレジスタのTBiS ビットを“1”(カウント開始)にしてください。 なお、TBiMRレジスタは、リセット後に限らずTBiSビットが“0”(カウント停止)の状態で、変更 してください。 2. カウント中のカウンタの値は、TBiレジスタを読むことにより任意のタイミングで読めます。た だし、リロードタイミングで読んだ場合、“FFFF16”が読まれます。カウント停止中にTBiレジ スタに値を設定した後、カウンタがカウントを開始するまでの期間に読んだ場合、設定値が読ま れます。 (2) タイマB注意事項(イベントカウンタモード) 1. リセット後、タイマは停止しています。TBiMR(i=0∼5)レジスタ、TBiレジスタによって、モード やカウントソース、カウンタの値等を設定した後、TABSRレジスタまたはTBSRレジスタのTBiS ビットを“1”(カウント開始)にしてください。 なお、TBiMRレジスタは、リセット後に限らずTBiSビットが“0”(カウント停止)の状態で、変更 してください。 2. カウント中のカウンタの値は、TBiレジスタを読むことにより任意のタイミングで読めます。た だし、リロードタイミングで読んだ場合、“FFFF16”が読まれます。カウント停止中にTBiレジ スタに値を設定した後、カウンタがカウントを開始するまでの期間に読んだ場合、設定値が読ま れます。 (3) タイマB注意事項(パルス周期測定 / パルス幅測定モード) 1. リセット後、タイマは停止しています。TBiMR(i=0∼5)レジスタよって、モードやカウントソー ス等を設定した後、TABSRレジスタまたはTBSRレジスタのTBiSビットを“1”(カウント開始)に してください。 なお、TBiMRレジスタは、リセット後に限らずTBiSビットが“0”(カウント停止)の状態で、変更 してください。MR3ビットを“0”にするために、TBiSビットが“1”(カウント開始)の状態で、 TBiMRレジスタへ書く場合、TM0D0、TM0D1、MR0、MR1、TCK0、TCK1ビットへは前回書い たものと同じ値を、MR2へは“0”を書いてください。 2. TBiICレジスタ(i=0∼5)のIRビットは、測定パルスの有効エッジが入力されたときとタイマBiがオー バフローしたとき“1”(割り込み要求あり)になります。割り込み要求要因は、割り込みルーチン 内でTBiMRレジスタのMR3ビットで判断できます。 3. 測定パルス入力がタイマのオーバフローのタイミングに重なるなど割り込み要因をMR3ビットで 判断できない場合は、オーバフローの回数を別のタイマでカウントしてください。 4. MR3ビットを“0”(オーバフローなし)にするには、TBiSビットが“1”(カウント開始)の状態で、 MR3ビットが“1”(オーバフローあり)になった後の次のカウントソースのカウントタイミング以 降に、TBiMRレジスタに書いてください。 Rev.1.00 2004.03.01 page 299 of 311 M306H3MC-XXXFP/FCFP 5. オーバフローだけの検出にはTBiICレジスタのIRビットを使用してください。MR3ビットは、割 り込みルーチン内で割り込み要因を判断するときだけ使用してください。 6. カウント開始後、1回目の有効エッジの入力時は、不定値がリロードレジスタに転送されます。ま た、このとき、タイマBi割り込み要求は発生しません。 7. カウント開始時のカウンタの値は不定です。したがって、カウント開始後、有効エッジが入力さ れるまでに、MR3ビットが“1”になり、タイマBi割り込み要求が発生する可能性があります。 8. パルス幅測定は、連続してパルス幅を測定します。測定結果が“H”であるか“L”であるかプロ グラムで判断してください。 シリアルI / O注意事項(クロック同期形シリアルI / Oモード) 送受信 _______ ________ 外部クロック選択時、RTS機能を選択した場合は、受信可能状態になるとRTSi端子の出力レベルが ________ “L”になり、受信が可能になったことを送信側に知らせます。受信が開始されるとRTSi端子の出力 _______ ________ レベルは“H”になります。このため、RTSi端子を送信側のCTSi端子に結線すると、送受信のタイミ _______ ングを合わせることができます。内部クロック選択時はRTS機能は無効です。 送信 外部クロックを選択している場合、UiC0レジスタのCKPOLビットが“0”(転送クロックの立ち下 がりで送信データ出力、立ち上がりで受信データ入力)のときは外部クロックが“H”の状態で、CKPOL ビットが“1”(転送クロックの立ち上がりで送信データ出力、立ち下がりで受信データ入力)のときは 外部クロックが“L”の状態で次の条件を満たしてください。 ・UiC1レジスタのTEビットが“1”(送信許可) ・UiC1レジスタのTIビットが“0”(UiTBレジスタにデータあり) _______ _______ ・CTS機能を選択している場合、CTSi端子の入力が“L” 受信 1. クロック同期形シリアルI/Oでは送信器を動作させることにより、シフトクロックを発生します。し たがって、受信だけで使用する場合も送信のための設定をしてください。受信時TxDi端子からはダ ミーデータが外部に出力されます。 2. 内部クロック選択時はUiC1レジスタ(i=0∼2)のTEビットを“1”(送信許可)にし、ダミーデータをUiTB レジスタに設定するとシフトクロックが発生します。外部クロック選択時はTEビットを“1”にし、 ダミーデータをUiTBレジスタに設定し、外部クロックがCLKi端子に入力されたときシフトクロック を発生します。 3. 連続してデータを受信する場合、UiC1レジスタ(i=0∼2)のREビットが“1”(UiRBレジスタにデータ あり)でUARTi受信レジスタに次の受信データが揃ったときオーバランエラーが発生し、UiRBレジ スタのOERビットが“1”(オーバランエラー発生)になります。この場合、UiRBレジスタは不定です ので、オーバランエラーが発生したときは以前のデータを再送信するように送信と受信側のプログ ラムで対処してください。また、オーバランエラーが発生したときはSiRICレジスタのIRビットは変 化しません。 Rev.1.00 2004.03.01 page 300 of 311 M306H3MC-XXXFP/FCFP 4. 連続してデータを受信する場合は、1回の受信ごとにUiTBレジスタの下位バイトへダミーデータを 設定してください。 5. 外部クロックを選択している場合、CKPOLビットが“0”のときは外部クロックが“H”の状態で、 CKPOLビットが“1”のときは外部クロックが“L”の状態で次の条件を満たしてください。 ・UiC1レジスタのREビットが“1”(受信許可) ・UiC1レジスタのTEビットが“1”(送信許可) ・UiC1レジスタのTIビットが“0”(UiTBレジスタにデータあり) シリアルI / O注意事項(UARTモード) 特殊モード4(SIMモード) リセット解除後、U2C1レジスタのU2IRSビットを“1”(送信完了)、U2EREビットを“1”(エラー 信号出力)にすると、送信割り込み要求が発生します。そのため、SIMモードを使用する場合は設定後、 IRビットを“0”(割り込み要求なし)にしてください。 A-D変換器の注意事項 1. ADCON0レジスタ(ビット6を除く)、ADCON1レジスタ、ADCON2レジスタは、A-D変換停止時(トリ ガ発生前)に書いてください。 2. ADCON1レジスタのVCUTビットを“0”(Vref未接続)から“1”(Vref接続)にしたときは、1μs以上経 過した後にA-D変換を開始させてください。 3. ノイズによる誤動作やラッチアップの防止、また変換誤差を低減するため、AVCC端子、VREF端子、 アナログ入力端子(ANi(i=0∼7))とAVSS端子の間には、それぞれコンデンサを挿入してください。同様 にVCC端子とVSS端子の間にもコンデンサを挿入してください。図6.2に各端子の処理例を示します。 4. アナログ入力端子として使用する端子に対応するポート方向ビットは“0”(入力モード)にしてくださ _____________ い。また、ADCON0レジスタのTRGビットが“1”(外部トリガ)の場合は、ADTRG端子に対応するポー ト方向ビットは“0”(入力モード)にしてください。 マイクロコンピュータ VCC C4 VCC VCC (15pin) AVCC VSS C1 VCC C5 VREF C2 AVSS VCC (69pin) C3 ANi VSS ANi : ANi(0∼7) 注1. C1≧0.47μF、C2≧0.47μF、C3≧100pF、C4≧0.1μF、C5≧0.1μF(参考値)。 注2. コンデンサは太い配線を利用して、最短距離で接続してください。 図6.2. 各端子の処理例 Rev.1.00 2004.03.01 page 301 of 311 M306H3MC-XXXFP/FCFP 5. キー入力割り込みを使用する場合、AN4∼AN7は4本ともアナログ入力端子として使用しないでくださ い(A-D入力電圧が“L”になると、キー入力割り込み要求が発生します)。 6. φADの周波数を10MHz以下にしてください。サンプル&ホールド機能なしの場合、φADの周波数は250kHz 以上にしてください。サンプル&ホールド機能ありの場合、φADの周波数は1MHz以上にしてください。 7. A-D動作モードを変更した場合は、ADCON0レジスタのCH2∼CH0ビットまたはADCON1レジスタの SCAN1∼SCAN0ビットでアナログ入力端子を再選択してください。 8. A-D変換が完了し、その結果をADiレジスタ(i=0∼7)に格納するタイミングでCPUがADiレジスタを読 んだ場合、誤った値がADiレジスタに格納されます。この現象は、CPUクロックにメインクロックを 分周したクロック、またはサブクロックを選択した場合に発生します。 ●単発モードまたは単掃引モードで使用する場合 A-D変換が完了したことを確認してから、対象となるADiレジスタを読んでください(A-D変換の完了 はADICレジスタのIRビットで判定できます)。 ●繰り返しモード、繰り返し掃引モード0または繰り返し掃引モード1で使用する場合 CPUクロックは、メインクロックを分周せずに使用してください。 9. A-D変換動作中に、プログラムでADCON0レジスタのADSTビットを“0”(A-D変換停止)にして強制 終了した場合、A-D変換器の変換結果は不定となります。また、A-D変換を行っていないADiレジスタ も不定になる場合があります。A-D変換動作中に、プログラムでADSTビットを“0”にした場合は、 すべてのADiレジスタの値を使用しないでください。 プログラマブル入出力ポート注意事項 1. S3CレジスタのSM32ビットを“1”にすると、P92端子はハイインピーダンスになります。S4Cレジ スタのSM42ビットを“1”にすると、P96端子はハイインピーダンスになります。 2. プログラマブル入出力ポートと、周辺機能では、入力閾値電圧が異なります。 したがって、プログラマブル入出力ポートと周辺機能が、端子を共用している場合、この端子の入 力レベルが推奨動作条件のVIH、VILの範囲外(“H”でも“L”でもないレベル)のとき、プログラマブ ル入出力ポートと、周辺機能でレベルの判定結果が異なることがあります。 フラッシュメモリ版とマスクROM版の相違点に関する注意事項 フラッシュメモリ版とマスクROM版は、内部ROM、レイアウトパターンの相違などにより、電気的特 性の範囲で、特性値、動作マージン、ノイズ耐量、ノイズ輻射量などが異なる場合があります。マスク ROM版への切り替え時は、フラッシュメモリ版で実施したシステム評価試験と同等の試験を実施してく ださい。 Rev.1.00 2004.03.01 page 302 of 311 M306H3MC-XXXFP/FCFP フラッシュメモリ版の注意事項 フラッシュメモリ書き換え禁止機能の注意事項 0FFFDF16、0FFFE316、0FFFEB16、0FFFEF16、0FFFF316、0FFFF716、0FFFFB16番地は、IDコードを 格納する番地です。これらの番地に誤ったデータを書くと、標準シリアル入出力モードによるフラッ シュメモリの読み出し書き込みができなくなります。 また、0FFFFF16番地はROMCPレジスタです。この番地に誤ったデータを書くと、パラレル入出力 モードによるフラッシュメモリの読み出し書き込みができなくなります。 これらの番地は固定ベクタのベクタ番地(H)に当たります。 ストップモードに関する注意事項 ストップモードに移行する場合は、次のようにしてください。 ・FMR01ビットを“0”(CPU書き換えモード無効)にし、DMA転送を禁止した後で、CM10ビットを “1”(ストップモード)にする ・CM10ビットを“1”にする命令の次にJMP.B命令を実行する プログラム例 BSET 0, CM1 ;ストップモード JMP.B L1 L1: ストップモード復帰後のプログラム ウエイトモードに関する注意事項 ウエイトモードに移行する場合は、FMR01ビットを“0”(CPU書き換えモード無効)にした後、WAIT 命令を実行してください。 低消費電力モードの注意事項 CM05ビットが“1”(メインクロック停止)のときは、次のコマンドを実行しないでください。 ・プログラム、ブロックイレーズ、イレーズ全アンロックブロック、ロックビットプログラム コマンド、データの書き込み コマンドコード、データは偶数番地に書いてください。 プログラムコマンドの注意事項 第1バスサイクルで“xx4016”を書き、第2バスサイクルで書き込み番地にデータを書くと自動書き 込み(データのプログラムとベリファイ)を開始します。第1バスサイクルにおけるアドレス値は、第2 バスサイクルで指定する書き込み番地と同一かつ偶数番地にしてください。 ロックビットプログラムコマンドの注意事項 第1バスサイクルで“xx7716”、第2バスサイクルで“xxD016”をブロックの最上位番地(ただし、偶 数番地)に書くと指定されたブロックのロックビットに“0”が書かれます。第1バスサイクルにおけ るアドレス値は、第2バスサイクルで指定するブロックの最上位番地と同一にしてください。 Rev.1.00 2004.03.01 page 303 of 311 M306H3MC-XXXFP/FCFP 動作速度 CPU書き換えモード(EW0、EW1モード)に入る前に、CM0レジスタのCM06ビット、CM1レジスタ のCM17∼CM6ビットで、CPUクロックを10MHz以下にしてください。また、PM1レジスタのPM17ビッ トは“1”(ウエイトあり)にしてください。 使用禁止命令 EW0モードでは、次の命令はフラッシュメモリ内部のデータを参照するため使用できません。 UND命令、INTO命令、JMPS命令、JSRS命令、BRK命令 割り込み EW0モード ・可変ベクタテーブルにベクタを持つ割り込みは、ベクタをRAM領域に移すことで使用できます。 ________ ・NMI割り込み、監視タイマ割り込みは、割り込み発生時に強制的にFMR0レジスタ、FMR1レジス タが初期化されるので使用できます。固定ベクタテーブルに各割り込みルーチンの飛び先番地を ________ 設定してください。NMI割り込み、監視タイマ割り込み発生時は、書き換え動作が中止されるの で、割り込みルーチン終了後、再度、書き換えプログラムを実行してください。 ・アドレス一致割り込みはフラッシュメモリ内部のデータを参照するため使用できません。 EW1モード ・自動書き込み、自動消去の期間に、可変ベクタテーブルにベクタを持つ割り込みや、アドレス一 致割り込みが受け付けられないようにしてください。 ・監視タイマ割り込みは使用しないでください。 ________ ・NMI割り込みは、割り込み発生時に強制的にFMR0レジスタ、FMR1レジスタが初期化されるので ________ 使用できます。固定ベクタテーブルに各割り込みルーチンの飛び先番地を設定してください。NMI 割り込み発生時は、書き換え動作が中止されるので、割り込みルーチン終了後、再度、書き換え プログラムを実行してください。 アクセス方法 FMR01ビット、FMR02ビット、FMR11ビットを“1”にする場合、対象となるビットに“0”を書 いた後、続けて“1”を書いてください。なお、“0”を書いた後、“1”を書くまでに割り込み、DMA ________ 転送が入らないようにしてください。また、NMI端子に“H”を入力した状態で行ってください。 ユーザROM領域の書き換え EW0モード ・書き換え制御プログラムが格納されているブロックを書き換えている最中に電源電圧が低下する と、書き換え制御プログラムが正常に書き換えられないため、その後フラッシュメモリの書き換 えができなくなる可能性があります。この場合、標準シリアル入出力モードまたはパラレル入出 力モードを使用してください。 EW1モード ・書き換え制御プログラムが格納されているブロックを書き換えないでください。 DMA転送 EW1モードでは、FMR0レジスタのFMR00ビットが“0”(自動書き込み、自動消去の期間)にDMA 転送が入らないようにしてください。 Rev.1.00 2004.03.01 page 304 of 311 M306H3MC-XXXFP/FCFP プログラム、イレーズ回数と実行時間について ソフトウエアコマンド(プログラムコマンド、ブロックイレーズコマンド、イレーズ全アンロック ブロックコマンド、ロックビットプログラムコマンド)の実行時間はプログラム、イレーズ回数とと もに長くなります。特にプログラム、イレーズ回数が100回を超えるとソフトウエアコマンドの実行 時間は顕著に長くなるため、ソフトウエアコマンドの待ち時間の設定は、電気的特性の最大値以上に 設定してください。 ________ ソフトウエアコマンドはハードウエアリセット、NMI割り込み、監視タイマ割り込みで中断されます。 ソフトウエアコマンドを中断した場合、そのブロックをイレーズした後に再度実行してください。 その他の注意事項 電源投入時の注意事項 VCC、VDD2、VDD3、AVCCは同時に電源を投入してください。動作中は必ず同一電位に設定してく ださい。 電源ノイズ及びラッチアップ対策に関する注意点 電源ノイズ及びラッチアップ対策として、VCC端子とVSS端子間、VDD2端子とVSS2端子間、VDD3 端子とVSS3端子間、及びAVCC端子とAVSS端子間にバイパスコンデンサ(0.1μF以上)を最短距離 で、かつ比較的太い配線を使って接続してください。 また、TEST1(35pin)端子には、コンデンサ(0.1μF以上)を接続してください。 データスライサ用発振回路停止の注意点 データスライサを使用しない場合は、拡張レジスタXTAL_VCO、PDC_VCO_ON、VPS_VCO_ON を“L”に設定し発振を停止ください。 再度発振開始する場合は以下の順で立ち上げてください。 (a)拡張レジスタXTAL_VCO=“H” (b)拡張レジスタPDC_VCO_ON、VPS_VCO_ON=“H” (c)60ms以上待ち状態(内部発振回路の安定期間+データスライス準備) ※ スライスRAMが動作する為には拡張レジスタXTAL_VCO=“H”に設定してください。同期用 発振停止より発振開始する場合は、必ず20msを待ってメモリにアクセスしてください。 スタンバイモード(クロック停止)時の注意点 スタンバイモード時は、次の通りに拡張レジスタを設定してください。 (a)拡張レジスタXTAL_VCO, PDC_VCO_ON, VPS_VCO_ONを“L”に設定。 (b)拡張レジスタSTBY0、STBY1を“H”設定。それ以外の拡張レジスタは初期状態(リセット時) に設定。 クロック発振停止から発振状態に戻す場合は、データスライサ用発振回路停止の注意点の通り設 定してください。 Rev.1.00 2004.03.01 page 305 of 311 M306H3MC-XXXFP/FCFP 低電圧動作時(VCC=2.6V∼5.25V, f(XCIN)=32KHz時)の注意点 本製品はシングルチップモード時の低消費電力モードにおいて低電圧動作を行うことができます。 低電圧動作を行う場合、必ず低消費電力モード(BCLK:f(XCIN)選択、メインクロックXIN:停止、サ ブクロックXCIN:発振)に設定した後、電源電圧をVCC=3.0Vに降圧してください。 また、通常動作に復帰する場合、低消費電力モードのまま電源電圧を5Vまで昇圧した後、通常動 作モードに移行してください。 各種の動作モードの移行時には 、2.5.3 パワーコントロール に示す状態遷移(図2.5.9参照)に従っ て状態遷移してください。 図6.3に、動作モード移行時のVCC電源電圧の状態を示します。 5V VCC 3V パワーコントロール 動作モード 通常動作モード 低消費電力モード 通常動作モード 注1. 通常動作モード・・・高速モード、中速モード、低速モード 注2. 低電圧動作を行う場合は、CPU、ROM、 RAM、入出力ポート、タイマ(タイマA, タイマB)、及び割り込み制御回路のみを使用することができます。 上記以外の機能(データスライサ, DMAC, A/D等)は、すべて使用できません。 図6.3 動作モード移行時のVcc電源電圧状態 シリアルI/O(注意事項RxDi入力セットアップ時間) RXDi 入力セットアップ時間につき、「3. 電気的特性 表3.23. シリアルI/O」共に下記規格値をご使 用ください。 表6.1. シリアルI/O (VCC=5V) 記 号 tsu(D-C) 項 目 RxDi入力セットアップ時間 注1. 「3. 電気的特性 表3.23. シリアルI/O」を参照してください。 Rev.1.00 2004.03.01 page 306 of 311 規 格 値 最 小 最 大 70 単位 ns M306H3MC-XXXFP/FCFP 7. M306H3MC-XXXFP/FCFPとM306H2MC-XXXFP/FCFPとの相違点 M306H3MC-XXXFP/FCFPとM306H2MC-XXXFP/FCFPとの相異点: マスクROM版、フラッシュメモリ版共通(注1) 項 目 M306H2MC-XXXFP/FCFP M306H3MC-XXXFP/FCFP 電源電圧 4.75∼5.25V (f(XIN)=10MHz) 2.60∼5.25V (f(XCIN)=32kHz) 4.75∼5.25V (f(XIN)=10MHz) 2.80∼5.25V (f(XCIN)=32kHz) クロック発生回路 低消費電力モードにしたとき、8分周モード になる。XIN駆動能力はHIGHになる。 低消費電力モードにしたとき、メインクロッ ク分周比は変化しない。XIN駆動能力は変化 しない。 外部デバイス接続 可能領域 0400016∼07FFF16(PM13=0の場合) 0800016∼0FFFF16(PM10=0の場合) 1000016∼26FFF16 2800016∼7FFFF16 8000016∼CFFFF16(PM13=0の場合) D000016∼FFFFF16(マイクロプロセッサ モードの場合) 0400016∼07FFF16 0800016∼27FFF 16 3000016∼FFFFF16(マイクロプロセッサ モードの場合) メモリ拡張モード、 P40∼P43(A16∼A19)、P34∼P37(A12∼A15) マイクロプロセッサ :アドレスバスまたは入出力ポートを切り モード時の上位 替え可 アドレス (M306H2FCFPでは、マイクロプロセッサ モードはありません) P40∼P43(A16∼A19) :アドレスバスまたは入出力ポートを切り 替え可 A12∼A15:切り替えできない 外部領域へのソフト 可変(0∼3ウエイト) 可変(0∼1ウエイト) ウエアウエイト プロテクト PM0、PM1、PM2、CM0、CM1、PD9、S3C、 PM0、PM1、CM0、CM1、PD9、S3C、 S4C、PCLKRレジスタへの S4Cレジスタへのプロテクト設定可 プロテクト設定可 監視タイマ割り込み、または監視タイマ リセットを選択 カウントソース保護モードあり 監視タイマ割り込み アドレス一致 割り込み 4本 2本 タイマA、タイマB カウントソース f1、f2、f8、f32、fC32から選択 f1、f8、f32、fC32から選択 監視タイマ カウントソース保護モードなし シリアルI/O (UART0∼UART2) (UART、クロック同期、I2Cバス、IEバス) ×3 (UART、クロック同期)×2 (UART、クロック同期、IICバス、IEバス) ×1 UART0∼UART2、 SI/O3、SI/O4の カウントソース f1SIO、f2SIO、f8SIO、f32SIOから選択 f1、f8、f32から選択 シリアルI/O RTSタイミング 受信バッファ読み出し時に“L”になる 受信完了時に“L”になる シリアルI/O CTS/RTS分離機能 あり なし UART2の送信開始 タイミング データ書き込み後、2回目のBRGのオーバ フロータイミングで送信開始 (UART0、UART1と同じ) データ書き込み後、1回目のBRGのオーバ フロータイミングで送信開始 (UART0、UART1よりBRGのオーバフロー 1回分、早く送信開始) シリアルI/O スリープ機能 なし あり 注1. 詳細と電気的特性については、データシートを参照してください。 Rev.1.00 2004.03.01 page 307 of 311 M306H3MC-XXXFP/FCFP M306H3MC-XXXFP/FCFPとM306H2MC-XXXFP/FCFPとの相異点: マスクROM版、フラッシュメモリ版共通(注1) 項 目 M306H2MC-XXXFP/FCFP M306H3MC-XXXFP/FCFP シリアルI/O I2Cモード スタートコンディション、ストップ コンディションの自動生成機能あり スタートコンディション、ストップ コンディションの自動生成機能なし シリアルI/O I2Cモード SDAの遅延はディジタル遅延のみ SDA遅延 SDAデジタル遅延のカウントソースはBRG SDAの遅延としてアナログ遅延または ディジタル遅延選択 SDAデジタル遅延のカウントソースは1/f(XIN) SI/O3、SI/O4 クロック極性 選択可 固定 A-D変換器の動作 クロック fAD、またはfADの2、3、4、6、12分周から 選択 fAD、fAD/2、fAD/4から選択 低消費電力起動機能 外部端子により中速モード(メインクロック リセット解除時は中速モード(メインクロック 8分周)と低消費電力モード(サブクロック)とを 8分周)のみ 選択可 データスライサ用 クロックソース メインクロックを使用 FSCIN端子より供給 データスライス方法 3系統 設定用レジスタ 2系統 水平同期信号計数 あり なし 水平同期割込み 指定した水平ラインで割込みを発生させる ことが可能 なし ジャストクロック用 P93:プログラマブル入出力ポート、 P93:プログラマブル入出力ポート、 フィルタ端子 タイマB3入力または、ジャストクロック またはタイマB3入力端子を切り替え可 用入力を切り替え可 リモコン機能 P94にリモコンのパルスを入力することによ り、ヘッダーパターンの判別可 なし EPG-J用CRC演算 回路 あり 82ビットCRC誤り検出および多数決論理に よる誤り訂正が可能 なし 注1. 詳細と電気的特性については、データシートを参照してください。 Rev.1.00 2004.03.01 page 308 of 311 M306H3MC-XXXFP/FCFP M306H3FCFPとM306H2FCFPとの相異点: フラッシュメモリ版(注1) 項 目 M306H2FCFP M306H3FCFP ユーザROM ブロック分割 4Kバイト×2、8Kバイト×3、32Kバイト×1、 32Kバイト×4 64Kバイト×1:7ブロック CPU書き換えモード EW1モードあり EW1モードなし ロックビットによる あり ブロック単位の プロテクト なし ブートROMアドレス 0FF00016∼0FFFFF16番地(4Kバイト) 領域 0DE00016∼0DFFFF16番地(8Kバイト) 注1. 詳細と電気的特性については、データシートを参照してください。 Rev.1.00 2004.03.01 page 309 of 311 M306H3MC-XXXFP/FCFP M306H3MC-XXXFP/FCFPとM306H2MC-XXXFP/FCFPとの相異点:ピン接続(注1) 項 目 M306H3FCFP M306H3MC-XXXFP 35ピン TEST1端子 ・テスト用端子 ・コンデンサを介してGNDに接続 36ピン M1端子 ・テスト用入力端子 ・“H”又は“L”を 入力 M306H2MC-XXXFP M306H2FCFP M2端子 ・テスト用入力端子 ・“L”を入力 M2端子 ・フラッシュ書き換え用電源 入力端子 ・通常0V印加、内蔵フラッシュ メモリ書き換え時4.75∼5.25V 印加 M1端子 M1端子 ・モード選択入力端子 ・テスト用入力端子 ・“L”を入力 ・マイクロプロセッサ及びメモリ拡張 モード使用時は“H”を入力 ・標準シリアルモード(シングルチップ モード)使用時は“L”を入力 M1端子 ・チップモード設定入力端子 ・通常は“L”を入力 108ピン START端子 ・発振選択入力用端子 ・発振回路を選択 “H”…XIN-XOUT “L”…XCIN-XCOUT VDD1 ・デジタル系電源入力端子 ・4.75∼5.25Vを印加 111ピン TEST2端子 ・テスト用端子 ・“L”を入力 VSS1 ・GND 注1. 詳細と電気的特性については、データシートを参照してください。 Rev.1.00 2004.03.01 page 310 of 311 M306H3MC-XXXFP/FCFP 営業企画統括部 〒100-0004 東京都千代田区大手町2-6-2 (日本ビル) 安全設計に関するお願い 1. 弊社は品質、信頼性の向上に努めておりますが、半導体製品は故障が発生したり、誤動作する場合があります。弊社の半導体製品の故障又は誤動作によって結果として、人身事故 火災事故、社会的損害などを生じさせないような安全性を考慮した冗長設計、延焼対策設計、誤動作防止設計などの安全設計に十分ご留意ください。 本資料ご利用に際しての留意事項 1. 本資料は、お客様が用途に応じた適切なルネサス テクノロジ製品をご購入いただくための参考資料であり、本資料中に記載の技術情報についてルネサス テクノロジが所有する知 的財産権その他の権利の実施、使用を許諾するものではありません。 2. 本資料に記載の製品データ、図、表、プログラム、アルゴリズムその他応用回路例の使用に起因する損害、第三者所有の権利に対する侵害に関し、ルネサス テクノロジは責任を負 いません。 3. 本資料に記載の製品データ、図、表、プログラム、アルゴリズムその他全ての情報は本資料発行時点のものであり、ルネサス テクノロジは、予告なしに、本資料に記載した製品ま たは仕様を変更することがあります。ルネサス テクノロジ半導体製品のご購入に当たりましては、事前にルネサス テクノロジ、ルネサス販売または特約店へ最新の情報をご確認 頂きますとともに、ルネサス テクノロジホームページ(http://www.renesas.com)などを通じて公開される情報に常にご注意ください。 4. 本資料に記載した情報は、正確を期すため、慎重に制作したものですが万一本資料の記述誤りに起因する損害がお客様に生じた場合には、ルネサス テクノロジはその責任を負いま せん。 5. 本資料に記載の製品データ、図、表に示す技術的な内容、プログラム及びアルゴリズムを流用する場合は、技術内容、プログラム、アルゴリズム単位で評価するだけでなく、シス テム全体で十分に評価し、お客様の責任において適用可否を判断してください。ルネサス テクノロジは、適用可否に対する責任は負いません。 6. 本資料に記載された製品は、人命にかかわるような状況の下で使用される機器あるいはシステムに用いられることを目的として設計、製造されたものではありません。本資料に記 載の製品を運輸、移動体用、医療用、航空宇宙用、原子力制御用、海底中継用機器あるいはシステムなど、特殊用途へのご利用をご検討の際には、ルネサス テクノロジ、ルネサス 販売または特約店へご照会ください。 7. 本資料の転載、複製については、文書によるルネサス テクノロジの事前の承諾が必要です。 8. 本資料に関し詳細についてのお問い合わせ、その他お気付きの点がございましたらルネサス テクノロジ、ルネサス販売または特約店までご照会ください。 http://www.renesas.com 営業お問合せ窓口 ル ネ サ ス 販 売 本 京 浜 支 西 東 京 支 札 幌 営 業 東 北 支 い わ き 支 茨 城 支 新 潟 支 松 本 支 中 部 支 浜 松 支 西 部 本 北 陸 支 鳥 取 営 業 中 国 支 松 山 支 九 州 支 鹿 児 島 営 業 社 社 社 所 社 店 社 店 社 社 店 部 社 所 社 店 社 所 〒100-0005 〒212-0058 〒190-0023 〒060-0002 〒980-0013 〒970-8026 〒312-0034 〒950-0087 〒390-0815 〒460-0008 〒430-7724 〒541-0044 〒920-0031 〒680-0822 〒730-0036 〒790-0003 〒812-0011 〒890-0053 千代田区丸の内1-8-2 (第2鉄鋼ビル) 川崎市幸区鹿島田890-12 (新川崎三井ビル) 立川市柴崎町2-2-23 (第二高島ビル2F) 札幌市中央区北二条西4-1 (札幌三井ビル5F) 仙台市青葉区花京院1-1-20 (花京院スクエア13F) いわき市平小太郎町4-9 (揖保ジャパンいわき第二ビル3F) ひたちなか市堀口832-2 (日立システムプラザ勝田1F) 新潟市東大通1-4-2 (新潟三井物産ビル3F) 松本市深志1-2-11 (昭和ビル7F) 名古屋市中区栄3-13-20 (栄センタービル4F) 浜松市板屋町111-2 (浜松アクトタワー10F) 大阪市中央区伏見町4-1-1 (大阪明治生命館10F) 金沢市広岡3-1-1 (金沢パークビル8F) 鳥取市今町2-251 (日本生命鳥取駅前ビル) 広島市中区袋町5-25 (広島袋町ビルディング8F) 松山市三番町4-4-6 (GEエジソンビル松山2号館3F) 福岡市博多区博多駅前2-17-1 (ヒロカネビル本館5F) 鹿児島市中央町12-2 (明治生命西鹿児島ビル) (03) 3215-8600 (044) 549-1622 (042) 524-8701 (011) 210-8717 (022) 221-1351 (0246) 22-3222 (029) 271-9411 (025) 241-4361 (0263) 33-6622 (052) 261-3000 (053) 451-2131 (06) 6233-9400 (076) 233-5980 (0857) 21-1915 (082) 244-2570 (089) 933-9595 (092) 481-7695 (099) 256-9021 ■技術的なお問合せおよび資料のご請求は下記へどうぞ。 総合お問合せ窓口:カスタマサービスセンタ E-mail: [email protected] Copyright © 2003. Renesas Technology Corporation, All rights reserved. Rev.1.00 2004.03.01 page 311 of 311 改訂履歴 Rev. M306H3MC-XXXFP/FCFP 発行日 改訂内容 ポイント ページ 0.30 03/10/15 − 0.40 04/01/14 P1 P4 P18 P25 P39 P43 P53 P68 P69 P77 P152 P179 P193 P195 P198 P203 P204 P206 P207 P208 P209 P212 P215 P216 P219 P219 P220 P224 P244 P245 P248 P249 P285 P291 P296 P297 初版発行 1.1 特長 ●クロック発生回路 変更 表1.4.1 変更 004716番地のレジスタ名変更 図2.4.2 注2変更 表2.5.1 変更 図2.5.4 変更 図2.5.8 変更 図2.7.9 変更 図2.7.10 変更 図2.9.2 変更 表2.12.1 変更 図2.14.8 変更 表2.14.4 変更 拡張レジスタのビット構成(1) 変更 拡張レジスタのビット構成(5) 変更 拡張レジスタのビット構成(10) 変更 拡張レジスタのビット構成(11) 変更 拡張レジスタのビット構成(14) 変更 拡張レジスタのビット構成(16) 変更 拡張レジスタのビット構成(19) 変更 拡張レジスタのビット構成(20) 変更 拡張レジスタのビット構成(24) 変更 拡張レジスタのビット構成(29) 変更 拡張レジスタのビット構成(31) 変更 拡張レジスタのビット構成(35) 変更 拡張レジスタのビット構成(36) 変更 拡張レジスタのビット構成(38) 変更 図2.14.14 変更 表3.1.2 変更 表3.1.6 変更 表3.1.9 変更 表3.13, 表3.14 追加 表4.3.4 変更 外部バス注意事項 変更 (1)タイマA注意事項(タイマモード)3.削除 (2)タイマA注意事項(イベントカウンタモード)3.削除 (3)タイマA注意事項(ワンショットタイマモード)6.削除 (1/2) Rev. 発行日 改訂内容 ポイント ページ 0.40 04/01/14 P298 P301 P303 P309 P311 (4)タイマA注意事項(パルス幅変調モード)4.削除 図6.1.2 変更 低消費電力モードの注意事項 →低消費電力モード 項題変更 データスライサ用発振回路停止の注意点 L8 変更 6.2. 製造時期による相違 6.2.1 リセット入力 削除 6.2.2 項題変更 M306H3FCFP/MC-XXXFPとM306H2FCFP/MC-XXXFPとの相違点の表 変更 M306H3FCFPとM306H2FCFPとの相違点の表 項目変更 P313 M306H3FCFP/MC-XXXFPとM306H2FCFP/MC-XXXFPとの相違点の表 変更 P3 P81 P89 P175 P177 P180 P188 P204 P207 P246 P255 P261 P301 P307 P308 P309 P310 図1.3.1 型名変更 図2.9.5 変更 図2.10.6 変更 図2.14.3 注2 追加 図2.14.6 変更 CRCレジスタのビット構成(1)注1 追加 CRCレジスタのビット構成(10)変更 拡張レジスタのビット構成(11)変更 拡張レジスタのビット構成(16)変更 表3.7 変更 図3.2 変更 図3.8 変更 図6.2 変更 型名 変更 型名 変更 型名 変更 型名 変更 P306 P308 1.00 04/03/01 (2/2)