6.3MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
富士通マイクロエレクトロニクス
CONTROLLER MANUAL
CM44-10108-6
F2MC-16LX
16 ビット・マイクロコントローラ
MB90540/545 Series
ハードウェアマニュアル
F2MC-16LX
16 ビット・マイクロコントローラ
MB90540/545 Series
ハードウェアマニュアル
富士通マイクロエレクトロニクスのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。
ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。
開発における最新の注意事項に関しては , 必ず「Check Sheet」を参照してください。
「Check Sheet」はシステム開発において , 問題を未然に防ぐことを目的として , 最低限必要と思われるチェック項目
をリストにしたものです。
http://edevice.fujitsu.com/micom/jp-support/
富士通マイクロエレクトロニクス株式会社
はじめに
■ 本書の目的と対象読者
富士通マイクロエレクトロニクス製品につきまして,平素より格別のご愛読を賜り厚く
お礼申し上げます。
MB90540/545 シリーズは , ASIC(Application Specific IC) 対応が可能なオリジナル 16 ビッ
ト・ワンチップマイクロコントローラである F2MC®-16LX ファミリの汎用品の 1 つと
して開発された製品です。
本書は , 実際にこの半導体を使って製品を設計する技術者の方を対象に , MB90540/545
シリーズの機能や動作について記載しています。本書をご一読ください。
■ 商標
F2MCは, FUJITSU Flexible Microcontrollerの略で富士通マイクロエレクトロニクス株式
会社の商標です。
■ 本書の全体構成
本書は , 以下に示す 25 の章および付録から構成されています。
第 1 章 概要
MB90540/545 シリーズの特長や基本的な仕様について示します。
第 2 章 CPU
CPU について説明します。
第 3 章 割込み
割込みの機能と動作について説明します。
第 4 章 クロックとリセット
クロックとリセットの機能と動作について説明します。
第 5 章 低消費電力制御回路
低消費電力制御回路の機能と動作について説明します。
第 6 章 低消費電力モード
低消費電力モードの機能と動作について説明します。
第 7 章 メモリアクセスモード
メモリアクセスモードの機能と動作について説明します。
第 8 章 I/O ポート
I/O ポートの機能と動作について説明します。
第 9 章 タイムベースタイマ
タイムベースタイマの機能と動作について説明します。
第 10 章 ウォッチドッグタイマ
ウォッチドッグタイマの機能と動作について説明します。
第 11 章 時計タイマ
時計タイマの機能と動作について説明します。
i
第 12 章 16 ビット入出力タイマ
16 ビット入出力タイマの機能と動作について説明します。
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付 )
イベントカウント機能付の 16 ビットリロードタイマ ( イベントカウント機能付 ) の
機能と動作について説明します。
第 14 章 8/16 ビット PPG
8/16 ビット PPG の機能と動作について説明します。
第 15 章 遅延割込み
遅延割込みの機能と動作について説明します。
第 16 章 DTP/ 外部割込み
DTP/ 外部割込みの機能と動作について説明します。
第 17 章 A/D コンバータ
A/D コンバータの機能と動作について説明します。
第 18 章 UART0
UART0 の機能と動作について説明します。
第 19 章 UART1(SCI)
UART1 の機能と動作について説明します。
第 20 章 シリアル I/O
シリアル I/O の機能と動作について説明します。
第 21 章 CAN コントローラ
CAN コントローラの機能と動作について説明します。
第 22 章 アドレス一致検出機能
アドレス一致検出機能の機能と動作について説明します。
第 23 章 ROM ミラー機能選択モジュール
ROM ミラー機能選択モジュールの機能と動作について説明します。
第 24 章 1M/2M ビットフラッシュメモリ
1M/2M ビットフラッシュメモリの機能と動作について説明します。
第 25 章 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S)
シリアル書込み接続例
MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) のシリアル書込
みの接続例について説明します。
付録
I/O マップ , 命令概要について示します。
ii
•
•
•
•
•
•
•
本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ
い。
本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので ,
実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ
たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ
ては , 当社はその責任を負いません。
本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的
財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用
について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し
たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任
を負いません。
本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用
されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保
されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力
施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生
命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性
が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ
ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。
ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ
い。
半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 ,
火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策
設計 , 誤動作防止設計などの安全設計をお願いします。
本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関
連法規等の規制をご確認の上 , 必要な手続きをおとりください。
本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。
Copyright ©2006-2008 FUJITSU MICROELECTRONICS LIMITED All rights reserved.
iii
iv
本版での主な変更内容
ページ
452
∼
512
変更内容(詳細は本文を参照してください。)
「付録 B 命令」全体を変更
変更箇所は , 本文中のページ左側の│によって示しています。
< 参考 > 4 版→ 5 版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。)
-
用語を統一
( 受容 → アクセプタンス )
-
レジスタ名を変更
( インタラプトレベルマスクレジスタ (ILM) → 割込みレベルマスクレジスタ (ILM))
( プログラムバンクレジスタ (PCB) → プログラムカウンタバンクレジスタ (PCB))
( 低消費電力モードレジスタ → 低消費電力モード制御レジスタ )
( コンペアレジスタ 0,1 → アウトプットコンペアレジスタ 0,1)
( コントロールステータスレジスタ → 制御ステータスレジスタ (OCS0/1))
( コンペアコントロールステータスレジスタ 0,1 → アウトプットコンペア制御ステータス
レジスタ 0,1)
( インプットキャプチャコントロールステータスレジスタ → インプットキャプチャ制御ス
テータスレジスタ (ICS01))
( タイマコントロールステータスレジスタ → タイマカウンタ制御ステータスレジスタ )
(DTP/ 割込み許可レジスタ → DTP/ 外部割込み許可レジスタ )
(DTP/ 割込み要因レジスタ → DTP/ 外部割込み要因レジスタ )
(A/D コントロールステータスレジスタ (ADCS1) → A/D 制御ステータスレジスタ 1
(ADCS1))
( データレジスタ下位 → A/D データレジスタ 0)
( データレジスタ上位 → A/D データレジスタ 1)
(A/D 制御レジスタ 0 → A/D 制御ステータスレジスタ 0)
(A/D 制御レジスタ 1 → A/D 制御ステータスレジスタ 1)
( データレジスタ → A/D データレジスタ )
( 変換データレジスタ → A/D データレジスタ )
( ステータスレジスタ 0(USR0) → シリアルステータスレジスタ 0(USR0))
(UIDR0( インプットデータレジスタ ) → UIDR0( シリアルインプットデータレジスタ ))
( アウトプットレジスタ 0(UODR0) → シリアルアウトプットデータレジスタ 0(UODR0))
( シリアルコントロールレジスタ → シリアル制御レジスタ )
( 通信プリスケーラコントロールレジスタ → UART1 通信プリスケーラ制御レジスタ )
(UART1 通信プリスケーラコントロールレジスタ → UART1 通信プリスケーラ制御レジス
タ)
(SDR( シリアルデータレジスタ ) → SDR( シリアルシフトデータレジスタ ))
( シリアルモードコントロールステータスレジスタ (SMCS) → シリアルモード制御ステー
タスレジスタ (SMCS))
( シフトレジスタ (SDR) → シリアルシフトデータレジスタ (SDR))
(RTR 送信レジスタ → 送信 RTR レジスタ )
( 受容マスク選択レジスタ → アクセプタンスマスク選択レジスタ )
( 受容マスクレジスタ → アクセプタンスマスクレジスタ )
( 全体コントロールレジスタ → 全体制御レジスタ )
( メッセージバッファコントロールレジスタ → メッセージバッファ制御レジスタ )
(CAN コントロールステータスレジスタ (CSR) → 制御ステータスレジスタ (CSR))
( 受容コード ID レジスタ (IDRx) → アクセプタンスコード ID レジスタ (IDRx))
( プログラムアドレス検出レジスタ (PADR0/PADR1) → プログラムアドレス検出レジスタ
0/1 (PADR0/PADR1))
( フラッシュメモリコントロールステータスレジスタ (FMCS) → フラッシュメモリ制御ス
テータスレジスタ (FMCS))
v
< 参考 > 4 版→ 5 版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。
)
-
( バス制御信号選択レジスタ (EPCR) → バス制御信号選択レジスタ (ECSR))
(PPG01 レジスタ → PPG ユニット 0 クロック選択レジスタ )
(UART1 通信プリスケーラコントロールレジスタ (CDCR) → UART1 通信プリスケーラ制
御レジスタ (CDCR))
( 通信プリスケーラコントロールレジスタ (CDCR) → UART1 通信プリスケーラ制御レジ
スタ (CDCR))
( シリアルステータスレジスタ (SSR) → シリアルステータスレジスタ 1(SSR1)
( シリアルアウトプットデータレジスタ (SODR) → シリアルアウトプットデータレジス
タ 1(SODR1)
( シリアルコントロールレジスタ (SCR) → シリアル制御レジスタ 1(SCR1))
3
表 1.2-1 MB90540/545 シリーズの特長 を変更
(8 ビットリロードカウンタ× 8 本 → 8 ビットリロードカウンタ× 2 本× 4 ユニット )
(L パルス幅用の 8 ビットリロードレジスタ× 8 本 → "L" パルス幅用の 8 ビットリロード
レジスタ× 2 本× 4 ユニット )
(H パルス幅用の 8 ビットリロードレジスタ× 8 本 → "H" パルス幅用の 8 ビットリロー
ドレジスタ× 2 本× 4 ユニット )
4
表 1.2-1 MB90540/545 シリーズの特長 (2 / 2) を変更
( 受入れフィルタの柔軟な構成 : → アクセプタンスフィルタの柔軟な構成 :)
( ほとんど , 全外部端子を汎用入出力として使用可能です。→ 汎用入出力ポート 81 本 )
10 ∼ 16
表 1.6-1 端子機能説明 を変更
17 ∼ 19
表 1.7-1 入出力回路形式 を変更
( ヒステリシス入力 → CMOS ヒステリシス入力 )
● 電源端子について (VCC/VSS) を変更
図 1.8-2 電源端子 (VCC/VSS) の取扱い を追加
21
● 水晶発振回路について を変更
( 各量産品において , ご使用される発振子メーカに発振評価依頼をしてください。の文を
追加 )
33
■ 専用レジスタ を変更
(F2MC-16LXCPU コアの専用レジスタは以下に示す 13 本があります。→ F2MC-16LXCPU
コアの専用レジスタは以下に示す 11 本があります。)
41
表 2.8-1 各レジスタの機能 を変更
(RO → R0)
(RWO → RW0)
51
表 3.2-1 割込み要因と割込みベクタ・割込み制御レジスタ を変更
(PPG 0/1 → PPG(ch0, ch1) ユニット 0 )
(PPG 2/3 → PPG (ch2, ch3) ユニット 1 )
(PPG 4/5 → PPG (ch4, ch5) ユニット 2 )
(PPG 6/7 → PPG (ch6, ch7) ユニット 3 )
53
表 3.3-1 割込みベクタ一覧表 を変更
(PPG 0/1 → PPG (ch0, ch1) ユニット 0 )
(PPG 2/3 → PPG (ch2, ch3) ユニット 1 )
(PPG 4/5 → PPG (ch4, ch5) ユニット 2 )
(PPG 6/7 → PPG (ch6, ch7) ユニット 3 )
vi
< 参考 > 4 版→ 5 版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。
)
55
3.4 ハードウェア割込み の要約を変更
( 内蔵リソース → 周辺機能 )
● CPU を変更
( 内蔵リソース → 周辺機能 )
60
● 割込みハンドリング時間 (θ マシンサイクル ) を変更
(Φ → θ)
62
■ ソフトウェア割込みの概要 を変更
(PS レジスタ内に I を設定します。→ PS : I フラグを "0" に設定します。)
63
図 3.5-1 ソフトウェア割込みの発生と解除まで を変更
( ③を追加 )
65
図 3.6-1 拡張インテリジェント I/O サービスの概要を変更
( ⑤を追加 )
70
■ I/O レジスタアドレスポインタ (IOA) を変更
((A15 ∼ A0) → (A15 ∼ A00))
(IQA → I/O レジスタアドレスポインタ (IOA))
72
図 3.6-7 拡張インテリジェント I/O サービス (EI2OS) 動作フロー を変更
( 内蔵ソースにより割込み要求発生 → 周辺機能により割込み要求発生 )
( 内蔵ソースに割込要求のクリア → 周辺機能 割込み要求のクリア )
73
図 3.6-8 拡張インテリジェント I/O サービス (EI2OS) の使用手順フロー を変更
( 内蔵リソース → 周辺機能 )
83
<注意事項> を変更
( また , サブクロックモード時のハードウェアスタンバイリセットの発振安定待ち時間
は , 原発振 217 サイクル固定です。の文を追加 )
92
表 5.3-1 CG ビット設定 を変更
(OCG ビット設定を変更 → CG ビット設定を変更 )
93
■ クロック選択レジスタ (CKSCR) を変更
( 書込みは , 動作に影響しません。の文を追加 )
96
図 5.4-1 クロック選択の状態遷移図 1(2 系統品その 1) を変更
( 矢印 )
100
6.1 低消費電力モード の要約を変更
(・CPU 間欠動作 の記述を追加 )
101
● CPU 間欠動作機能 を変更
(PLL クロック逓倍率は CS1, 0 ビットを使用して設定され , クロック信号供給の 2, 4, 6, 8
倍のいずれかになります。このクロック信号は , 2 分周してマシンクロック信号として
使用されることに注意してください。の文を削除 )
103
表 6.1-2 低消費電力モード動作状態 (1 系統品 ) を変更
(*4 → *1)
(*5 → *2)
111 ∼
113
表 6.2-1 2 系統品の遷移条件一覧表 を変更
( 発振安定時間待ち終了 , 発振安定待ち終了 , 発振安定終了 → 発振安定待ち時間終了 )
114
表 6.2-2 1 系統品の状態遷移条件一覧表 を変更
( 発振安定時間待ち終了 , 発振安定待ち終了 , 発振安定終了 → 発振安定待ち時間終了 )
vii
< 参考 > 4 版→ 5 版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。
)
124
表 7.1-1 モード端子とモード を変更
( テスト機能 の行を削除 )
● 動作モード を変更
( 動作モードを選択することで , 通常動作を行ったり , 内部テストプログラムや特別テス
ト機能をアクティブにすることができます。→ 動作モードを選択することで , 通常動作
を行ったり , 内部テストプログラムができます。)
137
■ 外部メモリアクセス制御信号 を変更
(EPCR → ECSR)
138
図 7.3-2 外部データバス 16 ビットモードのアクセスタイミングチャート (16 ビットバス
幅アクセス , 8 ビットバス幅アクセス時 ) を変更
(P36/RYD 端子 → P 36/RDY 端子 )
140
■ レディ機能 を変更
(EPCR 中の RYE ビットが "1" に設定されている場合 , → ECSR 中の RYE ビットが "1" に
設定されている場合 ,)
141
7.3.2 ホールド機能の要約 を変更
( バス制御信号選択レジスタ (EPCR) 中の HDE ビットが "1" に → バス制御信号選択レジ
スタ (ECSR) 中の HDE ビットが "1" に )
■ ホールド機能 を変更
(・アドレス出力 :P23/A19 ∼ P20/A16 → ・アドレス出力 :P27/A23 ∼ P20/A16)
(・データ入出力 :P17/D15 ∼ P00/D00 → ・データ入出力 :P17/AD15 ∼ P00/AD00)
141
図 7.3-4 ホールドタイミング を変更
(P35/HAK → P35/HAK(上線を追加 ))
P27/A23 ∼ P20/A16
145
図 8.2-1 I/O ポートのレジスタ一覧 を変更
((DDR2) → (PDR2))
146
図 8.2-2 ポートデータレジスタ (PDR0 ∼ PDRA) ( ポート 0 ∼ポート A 用 ) の PDR7 のア
ドレス を変更
(00000BH → 000007H)
154
図 9.1-1 タイムベースタイマのレジスタ一覧 の初期値 を変更
( 初期値 (1) (-) (-) (0) (0) (0) (0) (0) → (1) (-) (-) (0) (0) (1) (0) (0))
図 9.1-2 タイムベースタイマのブロックダイヤグラム を変更
( *を削除 )
155
図 9.2-1 タイムベースタイマ制御レジスタ (TBTC) の初期値 を変更
( 初期値 (1) (-) (-) (0) (0) (0) (0) (0) → (1) (-) (-) (0) (0) (1) (0) (0))
172
図 12.2-1 16 ビット入出力タイマのレジスタ のアドレス を変更
(003920H → 003918H)
(003922H → 00391AH)
187
図 12.5-3 インプットキャプチャ制御ステータスレジスタ (ICS01) を変更
(ICS0/1 → ICS01)
192
図 13.1-1 16 ビットリロードタイマのブロックダイヤグラム を変更
( 有効クロック判定回路 の記述を追加 )
( 動作制御回路 の記述を追加 )
193
■ 16 ビットリロードタイマの端子名 を追加
viii
< 参考 > 4 版→ 5 版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。
)
194
図 13.2-1 16 ビットリロードタイマのレジスタ を変更
(TMCSR → TMCSR0/1)
(TMR/TMRLR → TMR0/TMRLR0 TMR1/TMRLR1)
195
図 13.2-2 タイマ制御ステータスレジスタ (TMCSR) を変更
(TMCSR → TMCSR0/1)
198
図 13.2-3 16 ビットタイマレジスタ (TMR)/16 ビットタイマリロードレジスタ (TMRLR)
を変更
(TMR/TMRLR → TMR0/TMRLR0 TMR1/TMRLR1)
203
図 13.6-1 カウンタの状態遷移 を変更
(TOT 端子 : 入力禁止 → TIN 端子 : 入力禁止 )
(TOT 端子 :TOUT 端子として機能 → TOT 端子 :TOT 端子として機能 )
206
■ 8/16 ビット PPG の機能 を変更
( ○ 8+8 ビット PPG 出力動作モード → ● 8 ビットプリスケーラ +8 ビット PPG 出力動作
モード )
206
● PPG 出力動作 を変更
(PPG の ch0 と ch1 を合わせて 1 ユニットとよびます。の文を追加 )
(4 本の PPG が → PPG が 4 ユニット )
(PPG0/1 → PPG の ch0 と ch1)
(ch0 の PPG の出力信号は , どの外部端子にも接続されていません。→ PPG の ch0 を PPG
(ch0), ch1 を PPG (ch1) と表します。)
207
図 14.2-1 8 ビット PPG(ch0) のブロックダイヤグラム を変更
( 一部の図および文 を削除 )
( チャネル 1 → PPG(ch1))
(ch0 の PPG 出力信号は外部端子に接続していません。の文を追加 )
208
図 14.2-2 8 ビット PPG(ch1) のブロックダイヤグラム を変更
(PPG10 出力許可 → PPG0 端子出力許可 )
(PPG10 → PPG0 端子 )
( チャンネル 0 → PPG(ch0))
208
図 14.2-3 PPG モジュールとユニット番号 , および外部端子の関係 を変更
210
14.3.1 PPG0 動作モード制御レジスタ (PPGC0) の要約を変更
(PPG(ch0) を制御します。の文を追加 )
■ PPG0 動作モード制御レジスタ (PPGC0) を変更
(PPG00 → PPG0)
図 14.3-2 PPG0 動作モード制御レジスタ (PPGC0) を変更
( リード / ライト (R/W) (-) (R/W) (R/W) (R/W) (-) (-) (R/W) → (R/W) (-) (R/W) (R/W) (R/W)
(-) (-) (W))
210, 211
212
212, 213
■ PPG0 動作モード制御レジスタ (PPGC0) を変更
(PPG → PPG(ch0))
14.3.2 PPG1 動作モード制御レジスタ (PPGC1) の要約を変更
(PPG(ch1) の制御と PPG ユニット 0 の動作モードを選択します。の文を追加 )
■ PPG1 動作モード制御レジスタ (PPGC1) を変更
(PPG → PPG(ch1))
(PPG10 → PPG0)
(PPG タイマの動作モード → PPG ユニットの動作モード )
ix
< 参考 > 4 版→ 5 版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。
)
214
14.3.3 PPG ユニット 0 クロック選択レジスタ (PPG01) を変更
(PPG0/1 → PPG01)
215
■ リロードレジスタ (PRLL, PRLH) の表を変更
("L" のパルス幅を設定します。の文を追加 )
("H" のパルス幅を設定します。の文を追加 )
216
表 14.4-1 リロード動作とパルス出力の関係を変更
(PPG00/10 → PPG0 出力端子 )
■ 8/16 ビット PPG の動作 を変更
( 端子出力 (PPG) → PPG0 出力端子 )
● 2 チャネル独立モード を変更
(PPG00 端子は , ch0 の PPG 出力が接続され , PPG10 端子は , ch1 の PPG 出力が接続され
ます。の文を削除 )
● 8 ビットプリスケーラ +8 ビット PPG モード を変更
(PPG00 端子は ,ch0 のプリスケーラ出力が接続され , PPG10 端子は , ch1 の PPG 出力が接
続されます。の文を削除 )
● 16 ビット PPG1 チャネルモード を変更
(PPG00 端子と PPG10 端子は , 両方とも 16 ビット PPG 出力が接続されます。の文を削除 )
(MB90540/545 シリーズについては , ch0 の PPG からの出力信号は外部端子には接続して
いません。の文を削除 )
217
図 14.4-1 PPG 出力動作の出力波形を変更
(PPG00/10 出力端子 → PPG0 出力端子 )
219
14.6 8/16 ビット PPG のパルスの端子出力の制御 の要約を変更
( 外部端子 PPG00/PPG10 → 外部端子 PPG0)
■ 8/16 ビット PPG のパルスの端子出力の制御 を変更
( 本ビット → PPG1 動作モード制御レジスタ (PPGC1) の bit13 (PE10))
(PPG0 → PPG(ch0))
(PPG10 → PPG(ch1))
図 14.6-1 8 ビットプリスケーラ +8 ビット PPG 出力動作の出力波形 を変更
(PPG00 → PPG(ch0) の出力 ( 内部信号 ))
(PPG10 → PPG(ch1) の出力 (PPG0 端子波形 ))
(PPG00 → PPG(ch0))
(PPG10 → PPG(ch1))
219
図 14.6-1 8 ビットプリスケーラ +8 ビット PPG 出力動作の出力波形を変更
(PPG00 → PPG(ch0) の出力 ( 内部信号 ))
(PPG10 → PPG(ch1) の出力 (PPG0 端子波形 ))
220
14.7 8/16 ビット PPG の割込み の要約を変更
(8/16 ビット PPG の割込みは , リロード値がカウントアウトし , ボローが発生したときに
アクティブになります。→ 8/16 ビット PPG は , リロード値がカウントアウトし , ボロー
が発生したときに割込み要求を出力します。)
x
< 参考 > 4 版→ 5 版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。
)
●レジスタ を変更
(0X000XX1B → 0-000--1B)
(0X000001B → 0-000001B)
(PPG10 → XXXXXX00B → PPG01 → 000000--B)
221
●パルス出力 を変更
(PPG0 端子は出力禁止となります。出力を許可した場合は "L" 出力となります。に文を
変更 )
●割込み要求 を変更
( 割込み禁止となります。なお , リロード値は保持されます。に文を変更 )
230
<注意事項> を変更
((ENIR:EN7 ∼ ENO=1) → (ENIR:EN7 ∼ EN0=1))
235
● DTP/ 外部割込みの動作手順 を変更
(1) 外部割込み入力として使用する端子と兼用する汎用入出力ポートを入力ポートに設
定する。の文を追加 )
244
<注意事項>を変更
(・設定チャネルが ANS > ANE の場合は ,ANS より変換が始まり 7ch まで変換したら
0ch に戻り ANE まで変換します。→ 設定チャネルが ANS > ANE の場合は , ANS より変
換が始まり AN7 まで変換したら AN0 に戻り ANE まで変換します。)
( 例:チャネル設定 ANS =AN6, ANE = AN3 で単発モードのとき変換は次の順序で行われ
ます。)
(6ch → 7ch → 0ch → 1ch → 2ch → 3ch → AN6 → AN7 → AN0 → AN1 → AN2 → AN3)
253
表 17.5-1 単発モード時の EI2OS の起動例を変更
( 転送元アドレスの文を追加 )
257
■ 変換データ保護機能の使用上の注意 を変更
(ADCS2 レジスタ → ADCS1 レジスタ )
275
■ 転送データフォーマット を変更
(SOUT0 → SOT0)
289
<注意事項> を変更
(UMC1 レジスタ → SCR1 レジスタ )
293
■ シリアルインプットデータレジスタ 1(SIDR1)/ シリアルアウトプットデータレジスタ
1 (SODR1) を変更
(DTRE → TDRE)
300
■ 非同期 ( 調歩同期 ) モードの受信動作 を変更
(SCR → SCR1)
(SSR → SSR1)
(SIDR → SIDR1)
( シリアルステータスレジスタ (SSR) 内の RDRF が → シリアルステータスレジスタ
(SSR1) 内の RDRF が )
301
■非同期 ( 調歩同期 ) モードの送信動作 を変更
(SSR → SSR1)
(SODR → SODR1)
(SCR → SCR1)
302
図 19.4-2 CLK 同期モードの転送データフォーマット ( モード 2) を変更
(SODR 書込み → SODR1 書込み )
(SCLK → SCK1)
xi
< 参考 > 4 版→ 5 版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。
)
306
図 19.6-4 TDRE のセットタイミング ( モード 0, 1) を変更
(SODR 書込み → SODR1 書込み )
307
図 19.6-5 TDRE のセットタイミング ( モード 2) を変更
(SODR 書込み → SODR1 書込み )
308
図 19.7-1 シリアルエッジセレクトレジスタ (SES1) を変更
(SES2 → SES1)
( リード / ライト (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) → (-) (-) (-) (-) (-) (-)
(-) (R/W))
313
図 20.2-1 シリアル I/O のレジスタ を変更
(MI → MD)
319
図 20.2-4 シリアル I/O プリスケーラ (SCDCR) を変更
(MI → MD)
341
<注意事項> を変更
(switch (10_CANCTO.CSE.bit.NS) → switch (IO_CANCTO.CSE.bit.NS))
347
図 21.6-5 ビットタイミングレジスタ (BTR) の初期値を変更
((-) (1) (1) (1) (1) (1) (0) (0) → (-) (1) (1) (1) (1) (1) (1) (1))
348
■ ビットタイミングレジスタ (BTR) を変更
(TSI= TS1.3 ∼ TS1.0,TS2 = TS2.2 ∼ TS1.0, → TS1= TS1.3 ∼ TS1.0,TS2 = TS2.2 ∼ TS2.0,)
351
図 21.6-10 送信要求レジスタ (TREQR) の初期値を変更
((x) (x) (x) (x) (x) (x) (x) (x) → (0) (0) (0) (0) (0) (0) (0) (0))
353
389
390
403
図 21.6-12 リモートフレーム受信待機レジスタ (RFWTR) の RFWTR アドレスを変更
(003DD1H(CAN1) → 003D0DH(CAN1))
図 21.6-12 リモートフレーム受信待機レジスタ (RFWTR) の初期値を変更
((0) (0) (0) (0) (0) (0) (0) (0) → (X) (X) (X) (X) (X) (X) (X) (X))
■ プログラムアドレス検出レジスタ 0/1 (PADR0/PADR1) を変更
(ADCSR → PACSR)
【bit 3】AD1E(Address Detect register 1 Enable) を変更
(ADR1 → PADR1)
表 24.3-1 フラッシュ制御信号 を変更
(RY/B → RY/BY)
405
【bit 2, bit 0】LPM1, LPM0(Low Power Mode) を変更
(01: 低電力消費モード ( 内部動作周波数 8 MHz 以下で動作 ) → 10: 低電力消費モード ( 内
部動作周波数 8 MHz 以下で動作 ))
406
24.5 フラッシュメモリ自動アルゴリズム起動方法 の要約を変更
( 読出し / リセット , 書込み , チップ消去 の 4 種類 → 読出し / リセット , 書込み , チップ
消去 , セクタ消去の 4 種類 )
408
表 24.6-2 ハードウェアシーケンスフラグ機能一覧 を変更
(DQ5 と DQ3 の内容の入替え )
423
■ フラッシュメモリのセクタ消去の一時停止 を変更
( 最大 15μs 後 , → 最大 20μs 後 ,)
( セクタ消去一時停止コマンドは , セクタ消去コマンドあるいはセクタ消去再開コマンド
発行後 , 20μs 以上後に行ってください。の文を追加 )
xii
< 参考 > 4 版→ 5 版での主な変更内容
ページ
425
変更内容(詳細は本文を参照してください。
)
● ハードウェアリセット (RST) の入力を変更
( 最低 50 ns → 最低 500 ns)
( 消去中にハードウェアリセットすると , → 消去中のハードウェアリセットや電源切れ
により ,)
● ホールド機能 を変更
((EPCR の HDE ビットが "1" をセット ) → (ECSR の HDE ビットが "1" をセット ))
( コントロールステータスレジスタ (FMCS) → フラッシュメモリ制御ステータスレジス
タ (FMCS))
● VID の適用 を変更
425
( セクタプロテクト動作に必要な VID の適用は , 供給電源が ON のとき常に開始し , 終了
する必要があります。→ セクタプロテクト動作に必要な VID の印加は , 電源が ON のと
き開始し , 終了する必要があります。)
435
表 25.1-1 富士通標準シリアルオンボード書込みに使用する端子 を変更
(P00 に "L" レベルを , P01 に "H" レベルを入力してください。の文を追加 )
437
図 25.2-1 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) シングル
チップモード時シリアル書込み接続例 ( ユーザ電源使用時 ) を変更
(TICS → /TICS)
(TRES → /TRES)
439
図 25.3-1 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) シングル
チップモード時シリアル書込み接続例 ( ライタから電源供給時 ) を変更
(TICS → /TICS)
(TRES → /TRES)
441
図 25.4-1 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) フラッシュ
マイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 ) を変更
(TRES → /TRES)
443
図 25.5-1 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) フラッシュ
マイコンプログラマとの最小限の接続例 ( ライタから電源供給時 ) を変更
(TRES → /TRES)
446 ∼
450
付表 A-1 I/O マップ の以下のレジスタ について , レジスタを変更
(PDR0 ∼ PDRA, DDR0 ∼ DDRA, ADER, PUCR0 ∼ PUCR3, UMC0, URD0, SCR1, SSR1,
CDCR, SMCS, SDR, ENIR, EIRR, ADCS0, ADCS1, ICS01, ICS23, ICS45, ICS67, TMCSR0,
TMR0/TMRLR0, TMCSR1, TMR1/TMRLR1, OCS0 ∼ OCS3, TCCS, PACSR, FMCS, IPCP0
∼ IPCP7)
447, 450
付表 A-1 I/O マップ の以下のレジスタ について , リソースを変更
(PPGC0, PPGC1, PPG01, PPGC2, PPGC3, PPG23, PPGC4, PPGC5, PPG45, PPGC6, PPGC7,
PPG67, PRLL0 ∼ PRLL7, PRLH0 ∼ PRLH7)
446, 447
付表 A-1 I/O マップ の以下のレジスタ について , アクセス単位を変更
(UMC0, USR0, SCR1, SSR1, ADCR1, PPGC0 ∼ PPGC7, )
448
付表 A-1 I/O マップ の以下のレジスタについて , アクセス単位を変更
(ROMM)
449
付表 A-1 I/O マップ の以下のレジスタについて , 初期値を変更
(ICR00 ∼ ICR15)
450
付表 A-1 I/O マップ の以下のレジスタについて , 略称を変更
(0CCP0 → OCCP0)
xiii
< 参考 > 4 版→ 5 版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。)
459
図 B.3-7 直接アドレス (addr16) 例 を変更
489
表 B.8-17 アキュムレータ操作命令 ( バイト・ワード ) 6 命令 を変更
(SWAPW / XCHW
A, T → SWAPW)
xiv
目次
第1章
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
第2章
概要 ............................................................................................................ 1
製品概要 ................................................................................................................................. 2
特長 ........................................................................................................................................ 3
ブロックダイヤグラム............................................................................................................ 5
パッケージ外形寸法図............................................................................................................ 6
端子配列図.............................................................................................................................. 8
端子機能説明 ........................................................................................................................ 10
入出力回路形式 .................................................................................................................... 17
デバイスの取扱いに関する注意事項 .................................................................................... 20
CPU.......................................................................................................... 25
2.1 CPU の概要 .......................................................................................................................... 26
2.2 メモリ空間............................................................................................................................ 27
2.3 メモリ空間マップ ................................................................................................................. 28
2.4 リニア方式によるアドレス指定 ........................................................................................... 29
2.5 バンク方式によるアドレス指定 ........................................................................................... 30
2.6 メモリ空間における多バイト長データ................................................................................. 32
2.7 レジスタ ............................................................................................................................... 33
2.7.1 アキュムレータ (A).......................................................................................................... 35
2.7.2 ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP) ............................ 36
2.7.3 プロセッサステータス (PS)............................................................................................. 37
2.7.4 プログラムカウンタ (PC) ................................................................................................ 40
2.8 レジスタバンク .................................................................................................................... 41
2.9 プリフィックスコード.......................................................................................................... 43
2.10 割込み抑止命令 .................................................................................................................... 45
2.11 「DIV A,Ri」,「DIVW A,RWi」命令の使用上の注意 ............................................................. 47
第3章
割込み ...................................................................................................... 49
3.1 割込みの概要 ........................................................................................................................ 50
3.2 割込み要因............................................................................................................................ 51
3.3 割込みベクタ ........................................................................................................................ 53
3.4 ハードウェア割込み ............................................................................................................. 55
3.4.1 ハードウェア割込みの動作 ............................................................................................. 57
3.4.2 ハードウェア割込みの動作フロー................................................................................... 59
3.4.3 割込み処理の開始に要する時間 ...................................................................................... 60
3.5 ソフトウェア割込み ............................................................................................................. 62
3.6 拡張インテリジェント I/O サービス (EI2OS) ....................................................................... 64
3.6.1 割込み制御レジスタ (ICR)............................................................................................... 66
3.6.2 拡張インテリジェント I/O サービスディスクリプタ (ISD) ............................................. 69
3.6.3 拡張インテリジェント I/O サービス (EI2OS) の動作 ...................................................... 72
3.6.4 拡張インテリジェント I/O サービス (EI2OS) の実行時間 ............................................... 74
3.7 未定義命令の実行による例外発生........................................................................................ 75
xv
第4章
4.1
4.2
4.3
第5章
クロックとリセット................................................................................. 77
クロック発生部 .................................................................................................................... 78
リセット要因の発生 ............................................................................................................. 79
リセット要因 ........................................................................................................................ 83
低消費電力制御回路................................................................................. 85
5.1 低消費電力制御回路の概要................................................................................................... 86
5.2 低消費電力制御回路のブロックダイヤグラム...................................................................... 89
5.3 低消費電力制御回路のレジスタ ........................................................................................... 90
5.3.1 低消費電力モード制御レジスタ (LPMCR) ...................................................................... 91
5.3.2 クロック選択レジスタ (CKSCR)..................................................................................... 93
5.4 クロック選択の状態遷移 ...................................................................................................... 96
第6章
低消費電力モード .................................................................................... 99
6.1 低消費電力モード ............................................................................................................... 100
6.1.1 スリープモード ............................................................................................................. 104
6.1.2 擬似時計モード ............................................................................................................. 105
6.1.3 時計モード..................................................................................................................... 106
6.1.4 ストップモード ............................................................................................................. 107
6.1.5 ハードウェアスタンバイモード .................................................................................... 109
6.1.6 CPU 間欠動作................................................................................................................ 110
6.2 低消費電力モードの状態遷移 ............................................................................................. 111
6.3 低消費電力モード状態遷移図 ............................................................................................. 115
第7章
メモリアクセスモード ........................................................................... 123
7.1 メモリアクセスモードの概要 ............................................................................................. 124
7.1.1 モード端子..................................................................................................................... 125
7.1.2 モードデータ ................................................................................................................. 126
7.1.3 バスモード別メモリ空間 ............................................................................................... 127
7.2 外部メモリアクセス ( バス端子制御回路 ) ......................................................................... 129
7.2.1 外部メモリアクセス ( 外部バス端子制御回路 ) のレジスタ .......................................... 130
7.2.2 自動レディ機能選択レジスタ (ARSR)........................................................................... 131
7.2.3 外部アドレス出力制御レジスタ (HACR)....................................................................... 133
7.2.4 バス制御信号選択レジスタ (ECSR) .............................................................................. 134
7.3 外部メモリアクセス制御信号の動作 .................................................................................. 137
7.3.1 レディ機能..................................................................................................................... 139
7.3.2 ホールド機能 ................................................................................................................. 141
第8章
I/O ポート............................................................................................... 143
8.1 I/O ポート ........................................................................................................................... 144
8.2 I/O ポートのレジスタ一覧 .................................................................................................. 145
8.2.1 ポートデータレジスタ (PDR0 ∼ PDRA) ( ポート 0 ∼ポート A 用 ) ........................... 146
8.2.2 ポート方向レジスタ (DDR0 ∼ DDRA) ( ポート 0 ∼ポート A 用 )................................ 148
8.2.3 プルアップ制御レジスタ (PUCR0 ∼ PUCR3) ( ポート 0 ∼ポート 3 用 ) .................... 150
8.2.4 アナログ入力許可レジスタ (ADER) .............................................................................. 152
第9章
9.1
9.2
タイムベースタイマ............................................................................... 153
タイムベースタイマの概要................................................................................................. 154
タイムベースタイマ制御レジスタ (TBTC) ......................................................................... 155
xvi
9.3
タイムベースタイマの動作................................................................................................. 156
第 10 章
ウォッチドッグタイマ ........................................................................... 157
10.1 ウォッチドッグタイマの概要 ............................................................................................. 158
10.2 ウォッチドッグタイマ制御レジスタ (WDTC) .................................................................... 159
10.3 ウォッチドッグタイマの動作 ............................................................................................. 161
第 11 章
時計タイマ ............................................................................................. 163
11.1 時計タイマの概要 ............................................................................................................... 164
11.2 時計タイマ制御レジスタ (WTC)......................................................................................... 165
11.3 時計タイマの動作 ............................................................................................................... 167
第 12 章
16 ビット入出力タイマ .......................................................................... 169
12.1 16 ビット入出力タイマの概要............................................................................................ 170
12.2 16 ビット入出力タイマのレジスタ .................................................................................... 172
12.3 16 ビットフリーランタイマ ............................................................................................... 173
12.3.1 16 ビットフリーランタイマのレジスタ ........................................................................ 174
12.3.2 タイマカウンタ制御ステータスレジスタ (TCCS)......................................................... 175
12.3.3 16 ビットフリーランタイマの動作 ............................................................................... 177
12.4 アウトプットコンペア........................................................................................................ 179
12.4.1 アウトプットコンペアのレジスタ................................................................................. 180
12.4.2 アウトプットコンペアの制御ステータスレジスタ (OCS0/1) ....................................... 181
12.4.3 16 ビットアウトプットコンペアの動作 ........................................................................ 184
12.5 インプットキャプチャ........................................................................................................ 186
12.5.1 インプットキャプチャのレジスタ................................................................................. 187
12.5.2 16 ビットインプットキャプチャの動作 ........................................................................ 189
第 13 章
16 ビットリロードタイマ ( イベントカウント機能付き ) ...................... 191
13.1 16 ビットリロードタイマ ( イベントカウント機能付き ) の概要....................................... 192
13.2 16 ビットリロードタイマのレジスタ................................................................................. 194
13.2.1 タイマ制御ステータスレジスタ (TMCSR) .................................................................... 195
13.2.2 16 ビットタイマレジスタ (TMR)/16 ビットタイマリロードレジスタ (TMRLR) の
レジスタ配置1 ................................................................................................................. 98
13.3 16 ビットリロードタイマの内部クロック動作と外部クロック動作 .................................. 199
13.4 16 ビットリロードタイマのアンダフロー動作 .................................................................. 201
13.5 16 ビットリロードタイマの出力端子機能.......................................................................... 202
13.6 カウンタの動作状態 ........................................................................................................... 203
第 14 章
8/16 ビット PPG .................................................................................... 205
14.1 8/16 ビット PPG の概要..................................................................................................... 206
14.2 8/16 ビット PPG のブロックダイヤグラム ........................................................................ 207
14.3 8/16 ビット PPG のレジスタ.............................................................................................. 209
14.3.1 PPG0 動作モード制御レジスタ (PPGC0) ..................................................................... 210
14.3.2 PPG1 動作モード制御レジスタ (PPGC1) ..................................................................... 212
14.3.3 PPG ユニット 0 クロック選択レジスタ (PPG01) ......................................................... 214
14.3.4 リロードレジスタ (PRLL, PRLH) .................................................................................. 215
14.4 8/16 ビット PPG の動作..................................................................................................... 216
14.5 8/16 ビット PPG のカウントクロックの選択 .................................................................... 218
14.6 8/16 ビット PPG のパルスの端子出力の制御 .................................................................... 219
xvii
14.7 8/16 ビット PPG の割込み ................................................................................................. 220
14.8 8/16 ビット PPG の各ハードウェアの初期値 .................................................................... 221
第 15 章
遅延割込み ............................................................................................. 223
15.1 遅延割込みモジュールの概要 ............................................................................................. 224
15.2 遅延割込みのレジスタ........................................................................................................ 225
15.3 遅延割込みの動作 ............................................................................................................... 226
第 16 章
16.1
16.2
16.3
16.4
16.5
DTP/ 外部割込み .................................................................................... 227
DTP/ 外部割込みの概要...................................................................................................... 228
DTP/ 外部割込みのレジスタ............................................................................................... 230
DTP/ 外部割込みの動作...................................................................................................... 232
DTP 要求と外部割込み要求の切換え ................................................................................. 234
DTP/ 外部割込みの使用上の注意 ....................................................................................... 235
第 17 章
A/D コンバータ ...................................................................................... 237
17.1 A/D コンバータの特長 ........................................................................................................ 238
17.2 A/D コンバータのブロックダイヤグラム ........................................................................... 240
17.3 A/D コンバータのレジスタ一覧.......................................................................................... 241
17.3.1 A/D 制御ステータスレジスタ 0 (ADCS0)...................................................................... 242
17.3.2 A/D 制御ステータスレジスタ 1 (ADCS1)...................................................................... 245
17.3.3 A/D データレジスタ 0/1 (ADCR0, ADCR1)................................................................... 248
17.4 A/D コンバータの動作 ........................................................................................................ 250
17.5 EI2OS を使った変換動作.................................................................................................... 252
17.5.1 単発モード時の EI2OS の起動例 ................................................................................... 253
17.5.2 連続モード時の EI2OS の起動例 ................................................................................... 254
17.5.3 停止モード時の EI2OS の起動例 ................................................................................... 255
17.6 変換データ保護機能 ........................................................................................................... 256
第 18 章
UART0 ................................................................................................... 259
18.1 UART0 の特長 .................................................................................................................... 260
18.2 UART0 のブロックダイヤグラム ....................................................................................... 261
18.3 UART0 のレジスタ ............................................................................................................. 262
18.3.1 シリアルモード制御レジスタ 0(UMC0) ........................................................................ 263
18.3.2 シリアルステータスレジスタ 0(USR0) ......................................................................... 265
18.3.3 シリアルインプットデータレジスタ 0(UIDR0) と
シリアルアウトプットデータレジスタ 0(UODR0)........................................................ 267
18.3.4 レート・データレジスタ 0(URD0) ................................................................................ 268
18.4 UART0 の動作 .................................................................................................................... 270
18.5 ボーレート.......................................................................................................................... 271
18.6 内部クロックおよび外部クロック...................................................................................... 274
18.7 転送データフォーマット .................................................................................................... 275
18.8 パリティビット .................................................................................................................. 276
18.9 割込み生成とフラグのセットタイミング ........................................................................... 277
18.9.1 受信動作時 ( モード 0, モード 1, モード 3) のフラグのセットタイミング.................... 278
18.9.2 受信動作時 ( モード 2) のフラグのセットタイミング ................................................... 279
18.9.3 送信動作時のフラグのセットタイミング...................................................................... 280
18.9.4 送受信動作時のステータスフラグ................................................................................. 281
18.10 UART0 の応用例................................................................................................................. 282
xviii
第 19 章
UART1(SCI) ........................................................................................... 285
19.1 UART1 の特長 .................................................................................................................... 286
19.2 UART1 のブロックダイヤグラム ....................................................................................... 287
19.3 UART1 のレジスタ一覧...................................................................................................... 288
19.3.1 シリアルモードレジスタ 1(SMR1)................................................................................ 289
19.3.2 シリアル制御レジスタ 1 (SCR1)................................................................................... 291
19.3.3 シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1(SODR1)........................................................ 293
19.3.4 シリアルステータスレジスタ 1(SSR1) ......................................................................... 294
19.3.5 UART1 通信プリスケーラ制御レジスタ (CDCR).......................................................... 296
19.4 UART1 の動作モードとクロック選択 ................................................................................ 297
19.4.1 非同期 ( 調歩同期 ) モード............................................................................................. 300
19.4.2 CLK 同期モード............................................................................................................. 302
19.5 UART1 のフラグと割込み発生要因.................................................................................... 304
19.6 UART1 の割込みとフラグのセットタイミング.................................................................. 305
19.7 ネガティブクロック動作 .................................................................................................... 308
19.8 UART1 の応用例と使用上の注意 ....................................................................................... 309
第 20 章
シリアル I/O ........................................................................................... 311
20.1 シリアル I/O の概要 ............................................................................................................ 312
20.2 シリアル I/O のレジスタ..................................................................................................... 313
20.2.1 シリアルモード制御ステータスレジスタ (SMCS) ........................................................ 314
20.2.2 シリアルシフトデータレジスタ (SDR) ......................................................................... 318
20.2.3 シリアル I/O プリスケーラ (SCDCR) ............................................................................ 319
20.3 シリアル I/O の動作 ............................................................................................................ 320
20.3.1 シフトクロック ............................................................................................................. 321
20.3.2 シリアル I/O の動作状態................................................................................................ 322
20.3.3 シフト動作のスタート / ストップタイミング ............................................................... 324
20.3.4 シリアル I/O の割込み機能 ............................................................................................ 327
20.4 ネガティブクロック動作 .................................................................................................... 328
第 21 章
CAN コントローラ ................................................................................. 329
21.1 CAN コントローラの特長................................................................................................... 330
21.2 CAN コントローラのブロックダイヤグラム ...................................................................... 331
21.3 全体制御レジスタの一覧 .................................................................................................... 332
21.4 メッセージバッファ (ID レジスタ ) の一覧......................................................................... 334
21.5 メッセージバッファ (DLC レジスタ / データレジスタ ) の一覧 ......................................... 336
21.6 CAN コントローラのレジスタ分類 .................................................................................... 338
21.6.1 制御ステータスレジスタ (CSR) .................................................................................... 339
21.6.2 バス動作停止ビット (HALT=1)...................................................................................... 342
21.6.3 ラストイベント表示レジスタ (LEIR)............................................................................. 344
21.6.4 受信および送信エラーカウンタ (RTEC) ....................................................................... 346
21.6.5 ビットタイミングレジスタ (BTR) ................................................................................. 347
21.6.6 メッセージバッファ有効レジスタ (BVALR).................................................................. 349
21.6.7 IDE レジスタ (IDER) ..................................................................................................... 350
21.6.8 送信要求レジスタ (TREQR) .......................................................................................... 351
21.6.9 送信 RTR レジスタ (TRTRR) ........................................................................................ 352
21.6.10 リモートフレーム受信待機レジスタ (RFWTR)............................................................. 353
21.6.11 送信解除レジスタ (TCANR) .......................................................................................... 354
xix
21.6.12 送信完了レジスタ (TCR) ............................................................................................... 355
21.6.13 送信割込み許可レジスタ (TIER).................................................................................... 356
21.6.14 受信完了レジスタ (RCR)............................................................................................... 357
21.6.15 リモート要求受信レジスタ (RRTRR)............................................................................ 358
21.6.16 受信オーバランレジスタ (ROVRR)............................................................................... 359
21.6.17 受信割込み許可レジスタ (RIER) ................................................................................... 360
21.6.18 アクセプタンスマスク選択レジスタ (AMSR) ............................................................... 361
21.6.19 アクセプタンスマスクレジスタ 0/1(AMR0/AMR1) ....................................................... 363
21.6.20 メッセージバッファ ...................................................................................................... 365
21.6.21 ID レジスタ x(x=0 ∼ 15)(IDRx) ..................................................................................... 366
21.6.22 DLC レジスタ x(x=0 ∼ 15)(DLCRx).............................................................................. 368
21.6.23 データレジスタ x(x=0 ∼ 15)(DTRx) ............................................................................. 369
21.7 CAN コントローラの送信................................................................................................... 371
21.8 CAN コントローラの受信................................................................................................... 373
21.9 CAN コントローラの受信フローチャート.......................................................................... 376
21.10 CAN コントローラの使用方法............................................................................................ 377
21.11 メッセージバッファ (x) による送信方法 ............................................................................ 379
21.12 メッセージバッファ (x) による受信方法 ............................................................................ 381
21.13 マルチレベルメッセージバッファの構成の決定 ................................................................ 383
21.14 CAN コントローラの使用上の注意 .................................................................................... 385
第 22 章
22.1
22.2
22.3
22.4
アドレス一致検出機能 ........................................................................... 387
アドレス一致検出機能の概要 ............................................................................................. 388
アドレス一致検出機能のレジスタ...................................................................................... 389
アドレス一致検出機能の動作 ............................................................................................. 391
アドレス一致検出機能の使用例 ......................................................................................... 392
第 23 章
ROM ミラー機能選択モジュール........................................................... 395
23.1 ROM ミラー機能選択モジュールの概要 ............................................................................ 396
23.2 ROM ミラー機能選択レジスタ (ROMM) ............................................................................ 397
第 24 章
1M/2M ビットフラッシュメモリ............................................................ 399
24.1 1M/2M ビットフラッシュメモリの概要 ............................................................................. 400
24.2 フラッシュメモリのセクタ構成 ......................................................................................... 401
24.3 書込み / 消去モード ............................................................................................................ 402
24.4 フラッシュメモリ制御ステータスレジスタ (FMCS).......................................................... 404
24.5 フラッシュメモリ自動アルゴリズム起動方法.................................................................... 406
24.6 自動アルゴリズム実行状態の確認...................................................................................... 407
24.6.1 データポーリングフラグ (DQ7) .................................................................................... 409
24.6.2 トグルビットフラグ (DQ6)............................................................................................ 411
24.6.3 タイミングリミット超過フラグ (DQ5).......................................................................... 412
24.6.4 セクタ消去タイマフラグ (DQ3) .................................................................................... 413
24.6.5 トグルビット 2 フラグ (DQ2)........................................................................................ 414
24.7 フラッシュメモリ書込み / 消去の詳細説明 ........................................................................ 416
24.7.1 フラッシュメモリの読出し / リセット状態 ................................................................... 417
24.7.2 フラッシュメモリへのデータ書込み ............................................................................. 418
24.7.3 フラッシュメモリの全データの消去 ( チップ消去 ) ...................................................... 420
24.7.4 フラッシュメモリの任意データの消去 ( セクタ消去 ) .................................................. 421
24.7.5 フラッシュメモリのセクタ消去の一時停止 .................................................................. 423
xx
24.7.6 フラッシュメモリのセクタ消去の再開 ......................................................................... 424
24.8 1M/2M ビットフラッシュメモリ使用上の注意................................................................... 425
24.9 フラッシュセキュリティの特長 ......................................................................................... 426
24.10 1M/2M ビットフラッシュメモリのプログラム例 ............................................................... 427
第 25 章
MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S)
シリアル書込み接続例................................................................... 433
25.1 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S)
シリアル書込み接続の基本構成 ......................................................................................... 434
25.2 シリアル書込み接続例 ( ユーザ電源使用時 )...................................................................... 437
25.3 シリアル書込み接続例 ( ライタから電源供給時 )............................................................... 439
25.4 フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 ) ....................... 441
25.5 フラッシュマイコンプログラマとの最小限の接続例 ( ライタから電源供給時 )................ 443
付録
付録 A
付録 B
索引
................................................................................................................445
I/O マップ ....................................................................................................................... 446
命令 ................................................................................................................................ 452
................................................................................................................513
xxi
xxii
第1章
概要
MB90540/MB90545 シリーズの特長と基本的な仕
様について説明します。
1.1 製品概要
1.2 特長
1.3 ブロックダイヤグラム
1.4 パッケージ外形寸法図
1.5 端子配列図
1.6 端子機能説明
1.7 入出力回路形式
1.8 デバイスの取扱いに関する注意事項
1
第 1 章 概要
製品概要
1.1
MB90540/545 シリーズの製品概要を示します。
■ MB90540/545 シリーズの製品概要
表 1.1-1 製品概要
MB90V540/V540G
特長
MB90F543/F549/F543G(S)/F548G(S) /
F549G(S)/F546G(S)/F548GL(S)
MB90543G(S)/547G(S) /
548G(S)/549G(S)
CPU
F2MC-16LX CPU
システム
クロック
オンチップ PLL クロック逓倍方式 ( × 1, × 2, × 3, × 4, PLL 停止時 1/2)
最小命令実行時間 62.5ns(4MHz 原発振 4 逓倍 )
フラッシュメモリ
MB90F543/F543G(S)/F548G(S)/F548GL(S):
128K バイト
MB90F549/F549G(S)/F546G(S):256K バイト
MASK ROM
MB90547G(S):64K バイト
MB90543G(S)/548G(S):
128K バイト
MB90549G(S):256K バイト
8K バイト
MB90F548G(S)/F548GL(S):4K バイト
MB90F543/F549/F543G(S)/F549G(S):
6K バイト
MB90F546G(S):8K バイト
MB90547G(S):2K バイト
MB90548G(S):4K バイト
MB90543G(S)/549G(S):
6K バイト
クロック
2 系統品 *1
MB90F543/F549/F543G/F548G/F549G/F546G/
F548GL:2 系統品
MB90F543GS/F548GS/F549GS/F546GS/
F548GLS:1 系統品
MB90543G/547G/548G/549G:
2 系統品
MB90543GS/547GS/548GS/
549GS :1 系統品
パッケージ
PGA-256
QFP100/LQFP100
エミュレータ
専用電源 *2
なし
-
ROM 容量
外部
RAM 容量
*1: 1 系統で使用する場合は , ツール側より X0A, X1A にクロックを供給してください。
*2: エミュレーションポッド MB2145-507 を使用する際のディップスイッチ S2 の設定です。
詳細については MB2145-507 ハードウェアマニュアル (「2.7 エミュレータ専用電源」) を参照してくださ
い。
<注意事項>
型格に G サフィックスの付いた製品については , CAN コントローラの機能が拡張されて
います。
「第 21 章 CAN コントローラ」のビットタイミングレジスタを参照してください。
2
第 1 章 概要
特長
1.2
表 1.2-1 に , MB90540/545 シリーズの特長を示します。
■ 特長
表 1.2-1 MB90540/545 シリーズの特長 (1 / 2)
機能
特長
UART0
全二重ダブルバッファ方式
非同期 / 同期転送 ( スタート / ストップビット付き ) をサポートします。
ボーレート 4808/5208/9615/10417/19230/38460/62500/500000bps( 非同期 )
システムクロック =16MHz 時 500K/1K/2Mbps( 同期 )
UART1
(SCI)
全二重ダブルバッファ方式
非同期 ( スタート / ストップ同期 ) および CLK 同期通信
ボーレート 1202/2404/4808/9615/19230/31250/38460/62500bps( 非同期 )
6, 8, 10, 12, 16MHz 時 62.5K/125K/250K/500K/1Mbps( 同期 )
シリアル I/O
MBS または LSB から転送開始可能です。
内部クロック同期転送および外部クロック同期転送をサポートします。
ポジティブエッジとネガティブエッジクロック同期をサポートします。
ボーレート システムクロック =16MHz 時 31.25K/62.5K/125K/500K/1M/2Mbps
A/D コンバータ
10 ビットまたは 8 ビットの分解能
8 本の入力チャネル
変換時間 :26.3 µs(1 チャネルあたり )
16 ビット
リロードタイマ
(2 チャネル )
動作クロック周波数 fsys/21 , fsys/23 , fsys/25(fsys= システムクロック周波数 )
外部イベントカウント機能をサポートします。
16 ビット
入出力タイマ
オーバフロー時に割込み信号を出力します。
アウトプットコンペア (ch0) との照合時に , タイマクリアをサポートします。
動作クロック周波数 fsys/22 , fsys/24 , fsys/26, fsys/28(fsys= システムクロック周波数 )
16 ビット
アウトプットコンペア
(4 チャネル )
16 ビット入出力タイマとの照合時に , 割込み信号を出力します。
16 ビットキャプチャレジスタ× 4 本
一対のコンペアレジスタを出力信号生成に使用可能です。
16 ビット
インプットキャプチャ
(8 チャネル )
立上りエッジ , 立下りエッジまたはその両方を検出します。
16 ビットキャプチャレジスタ× 4 本
外部イベント時に割込み信号を出力します。
8/16 ビット PPG
( プログラマブルパルス発
生部 )(4 チャネル )
8 ビットと 16 ビットの動作モードをサポートします。
8 ビットリロードカウンタ× 2 本× 4 ユニット
"L" パルス幅用の 8 ビットリロードレジスタ× 2 本× 4 ユニット
"H" パルス幅用の 8 ビットリロードレジスタ× 2 本× 4 ユニット
一対の 8 ビットリロードカウンタを 1 本の 16 ビットリロードカウンタとして , ま
たは 8 ビットプリスケーラと 8 ビットリロードカウンタとして構成可能です。
出力端子× 4 本
動作クロック周波数 fsys, fsys/21, fsys/22, fsys/23, fsys/24 または
128µs fosc=4MHz(fsys= システムクロック周波数 , fosc= 発振クロック周波数 )
3
第 1 章 概要
表 1.2-1 MB90540/545 シリーズの特長 (2 / 2)
機能
CAN インタフェース
MB90540 シリーズ :
2 チャネル
MB90545 シリーズ :
1 チャネル
外部割込み
外部バス
インタフェース
入出力ポート
32kHz サブクロック
フラッシュメモリ
特長
CAN 仕様バージョン 2.0 パート A およびパート B に準拠します。
エラー時に自動再送します。
リモートフレームに応答して自動伝送します。
データおよび ID 用の順位付けされた 16 個のメッセージバッファ複数メッセージ
をサポートします。
アクセプタンスフィルタの柔軟な構成 :
全ビットコンペア / 全ビットマスク /2 個の部分ビットマスク
最高 1Mbps までサポートします。
エッジ検出とレベル検出が設定可能です。
選択可能な 8 ビットバスまたは 16 ビットバスを使用した外部アクセスが可能です
( 外部バスモード )。
汎用入出力ポート 81 本
すべてのプッシュプル出力とシュミットトリガ入力
入力 / 出力または周辺信号として , ビット単位でプログラム可能です。
低電力動作用のサブクロック。
自動プログラミング , Embedded AlgorithmTM*, 書込み / 消去 / 消去一時停止 / 消去
再開コマンドをサポートします。
アルゴリズムの完了を示すフラグ
消去サイクル数 :10,000 回
データ保持期間 :10 年間
ブートブロック構成
各ブロックで消去を実行可能です。
外部プログラミング電圧によるブロック保護
*:Embedded Algorithm は Advanced Micro devices Inc. の登録商標です。
4
第 1 章 概要
ブロックダイヤグラム
1.3
図 1.3-1 に , MB90540/545 シリーズのブロックダイヤグラムを示します。
■ ブロックダイヤグラム
図 1.3-1 ブロックダイヤグラム
X0,X1
X0A,X1A
RST
クロック
制御回路
F2MC-16LX
CPU
HST
RAM 4Kバイト/
6Kバイト/
8Kバイト
ROM
128Kバイト/
256Kバイト
入出力タイマ
インプット
キャプチャ
×8チャネル
アウトプット
コンペア
×4チャネル
IN0~IN5
IN7/OUT3,IN6/OUT2
OUT0,OUT1
プリスケーラ
SOT0
SCK0
SIN0
UART0
プリスケーラ
SOT1
SCK1
SIN1
UART1
(SCI)
8/16ビット
PPG
×4チャネル
PPG0~PPG3
CAN
コントローラ
RX0,RX1*
TX0,TX1*
16 ビット
リロードタイマ
×2チャネル
TIN0,TIN1
TOT0,TOT1
プリスケーラ
SCK2
SOT2
SIN2
AD00~AD15
A16~A23
シリアル
I/O
AVCC
AVSS
AN0~AN7
AVRH
AVRL
ADTG
ALE
RD
外部バス
インタフェース
10 ビットADC
×8チャネル
WRL/WR
WRH
HRQ
HAK
RDY
CLK
外部割込み
×8チャネル
INT0~INT7
*: 2チャネルは,MB90540シリーズのみです。
5
第 1 章 概要
パッケージ外形寸法図
1.4
図 1.4-1 に FPT-100P-M06(QFP-100) のパッケージ外形寸法図を , 図 1.4-2 に FPT100P-M05(LQFP-100) のパッケージ外形寸法図を示します。
なお , 本外形寸法法図は参考用です。正式版につきましては別途ご相談ください。
■ FPT-100P-M06 パッケージ外形寸法図
図 1.4-1 FPT-100P-M06(QFP-100) パッケージ外形寸法図
プラスチック・QFP, 100 ピン
リードピッチ
0.65mm
パッケージ幅×
パッケージ長さ
14.00 × 20.00mm
リード形状
ガルウィング
封止方法
プラスチックモールド
取付け高さ
3.35mm MAX
コード(参考)
P-QFP100-14×20-0.65
(FPT-100P-M06)
プラスチック・QFP, 100 ピン
(FPT-100P-M06)
注 1)* 印寸法はレジン残りを含まず。
注 2)端子幅および端子厚さはメッキ厚を含む。
注 3)端子幅はタイバ切断残りを含まず。
23.90±0.40(.941±.016)
* 20.00±0.20(.787±.008)
80
51
81
50
0.10(.004)
17.90±0.40
(.705±.016)
*14.00±0.20
(.551±.008)
INDEX
Details of "A" part
100
1
30
0.65(.026)
"A"
C
6
0.25(.010)
+0.35
3.00 –0.20
+.014
.118 –.008
(Mounting height)
0~8°
31
2002 FUJITSU LIMITED F100008S-c-5-5
0.32±0.05
(.013±.002)
0.13(.005)
M
0.17±0.06
(.007±.002)
0.80±0.20
(.031±.008)
0.88±0.15
(.035±.006)
0.25±0.20
(.010±.008)
(Stand off)
単位:mm (inches)
注意:括弧内の値は参考値です。
第 1 章 概要
■ FPT-100P-M05 パッケージ外形寸法図
図 1.4-2 FPT-100P-M05(LQFP-100) パッケージ外形寸法図
プラスチック・LQFP, 100 ピン
(FPT-100P-M05)
リードピッチ
0.50mm
パッケージ幅×
パッケージ長さ
14.0× 14.0mm
リード形状
ガルウィング
封止方法
プラスチックモールド
取付け高さ
1.70mm MAX
質量
0.65g
コード(参考)
P-LFQFP100-14×14-0.50
プラスチック・LQFP, 100 ピン
(FPT-100P-M05)
注 1)* 印寸法はレジン残りを含まず。
注 2)端子幅および端子厚さはメッキ厚を含む。
注 3)端子幅はタイバ切断残りを含まず。
16.00±0.20(.630±.008)SQ
* 14.00±0.10(.551±.004)SQ
75
51
76
50
0.08(.003)
Details of "A" part
+0.20
100
26
1
25
C
2003 FUJITSU LIMITED F100007S-c-4-6
0.20±0.05
(.008±.002)
0.08(.003)
M
0.10±0.10
(.004±.004)
(Stand off)
0°~8°
"A"
0.50(.020)
+.008
1.50 –0.10 .059 –.004
(Mounting height)
INDEX
0.145±0.055
(.0057±.0022)
0.50±0.20
(.020±.008)
0.60±0.15
(.024±.006)
0.25(.010)
単位:mm (inches)
注意:括弧内の値は参考値です。
7
第 1 章 概要
端子配列図
1.5
図 1.5-1 に FPT-100P-M06 の端子配列図を , 図 1.5-2 に FPT-100P-M05 の端子配列
図を示します。
■ FPT-100P-M06 端子配列図
HST
MD2
P71/IN1
P70/IN0
P74/IN4
P73/IN3
P72/IN2
P76/OUT2/IN6
P75/IN5
P81/PPG1
P80/PPG0
P77/OUT3/IN7
P84/OUT0
P83/PPG3
P82/PPG2
P90/INT0
P87/TOT1
P86/TIN1
P85/OUT1
P92/INT2
P91/INT1
P96/TX1
P95/RX0
P94/TX0
P93/INT3
RST
P97/RX1
X1A
PA0
X0A
図 1.5-1 FPT-100P-M06 端子配列図
80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51
8
P52/INT5
P51/INT4
P50/SIN2
P47/SCK2
C
P46/SOT2
P45/SOT1
P43/SIN1
P44/SCK1
Vcc
P20/A16
P21/A17
P17/AD15
P40/SOT0
P41/SCK0
P42/SIN0
P15/AD13
P16/AD14
P35/HAK
P36/RDY
P37/CLK
P12/AD10
P13/AD11
P14/AD12
P33/WRH
P34/HRQ
P11/AD09
P32/WRL/WR
P04/AD04
P05/AD05
P06/AD06
P07/AD07
P10/AD08
QFP-100
MB90540/545シリーズ
(TOP VIEW)
FPT-100P-M06
P25/A21
P26/A22
P27/A23
P30/ALE
P31/RD
Vss
Vcc
P00/AD00
P01/AD01
P02/AD02
P03/AD03
50
81
49
82
48
83
47
84
46
85
45
86
44
87
43
88
42
89
41
90
40
91
39
92
38
93
37
94
36
95
35
96
34
97
33
98
32
99
31
100
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
P22/A18
P23/A19
P24/A20
Vss
X0
X1
MD1
MD0
P57/TOT0
P56/TIN0
P67/AN7
P66/AN6
P65/AN5
P64/AN4
Vss
P63/AN3
P62/AN2
P61/AN1
P60/AN0
AVSS
AVRL
AVRH
AVCC
P55/ADTG
P54/INIT7
P53/INT6
第 1 章 概要
■ FPT-100P-M05 端子配列図
100 P21/A17
99 P20/A16
98 P17/AD15
97 P16/AD14
96 P15/AD13
95 P14/AD12
94 P13/AD11
93 P12/AD10
92 P11/AD09
91 P10/AD08
90 P07/AD07
89 P06/AD06
88 P05/AD05
87 P04/AD04
86 P03/AD03
85 P02/AD02
84 P01/AD01
83 P00/AD00
82 VCC
81 X1
80 X0
79 VSS
78 X0A
77 X1A
76 PA0
図 1.5-2 FPT-100P-M05 端子配列図
LQFP-100
MB90540/545シリーズ
(TOP VIEW)
FPT-100P-M05
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
60
59
58
57
56
55
54
53
52
51
RST
P97/RX1
P96/TX1
P95/RX0
P94/TX0
P93/INT3
P92/INT2
P91/INT1
P90/INT0
P87/TOT1
P86/TIN1
P85/OUT1
P84/OUT0
P83/PPG3
P82/PPG2
P81/PPG1
P80/PPG0
P77/OUT3/IN7
P76/OUT2/IN6
P75/IN5
P74/IN4
P73/IN3
P72/IN2
P71/IN1
P70/IN0
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
P50/SIN2
P51/INT4
P52/INT5
P53/INT6
P54/INT7
P55/ADTG
AVCC
AVRH
AVRL
AVSS
P60/AN0
P61/AN1
P62/AN2
P63/AN3
VSS
P64/AN4
P65/AN5
P66/AN6
P67/AN7
P56/TIN0
P57/TOT0
MD0
MD1
MD2
HST
P22/A18
P23/A19
P24/A20
P25/A21
P26/A22
P27/A23
P30/ALE
P31/RD
VSS
P32/WRL/WR
P33/WRH
P34/HRQ
P35/HAK
P36/RDY
P37/CLK
P40/SOT0
P41/SCK0
P42/SIN0
P43/SIN1
P44/SCK1
VCC
P45/SOT1
P46/SOT2
P47/SCK2
C
9
第 1 章 概要
端子機能説明
1.6
表 1.6-1 に , 端子名 , 回路形式 , 機能説明について示します。
■ 端子機能説明
表 1.6-1 端子機能説明 (1 / 7)
端子番号
端子名
入出力
回路
形式 *3
機能
LQFP*2
QFP*1
80
81
82
83
X0
X1
78
80
X0A
77
79
X1A
75
77
RST
B
外部リセット要求入力端子です。
50
52
HST
C
ハードウェアスタンバイ入力端子です。
I
汎用の入出力ポートです。
レジスタの設定により , プルアップ抵抗の有無が設定できま
す。
この機能はシングルチップモードのときに有効となります。
A
高速水晶発振用端子です。
( 発振 )
低速水晶発振用端子です。
1 系統品は外部でプルダウンの処理をしてください。
A
( 発振 ) 低速水晶発振用端子です。
1 系統品はオープンにしてください。
P00 ∼ P07
83 ∼ 90
85 ∼ 92
AD00 ∼
AD07
外部アドレス・データバス下位 8 ビットの入出力端子です。
この機能は外部バスが有効なモードのときに有効となりま
す。
P10 ∼ P17
汎用の入出力ポートです。
レジスタの設定により , プルアップ抵抗の有無が設定できま
す。
この機能はシングルチップモードのときに有効となります。
I
91 ∼ 98 93 ∼ 100
99 ∼ 6
AD08 ∼
AD15
外部アドレス・データバス上位 8 ビットの入出力端子です。
この機能は外部バスが有効なモードのときに有効となりま
す。
P20 ∼ P27
汎用の入出力ポートです。
レジスタの設定により , プルアップ抵抗の有無が設定できま
す。
外バスモード時は,外部アドレス出力制御レジスタ (HACR)
の対応するビットが "1" の場合に有効となります。
I
1∼8
A16 ∼ A23
外部アドレス・データバス A16 ∼ A23 の 8 ビットの出力端
子です。
外バスモード時に,外部アドレス出力制御レジスタ (HACR)
の対応するビットが "0" の場合に有効となります。
*1:FPT-100P-M06
*2:FPT-100P-M05
*3:入出力回路形式については「1.7 入出力回路形式」を参照してください。
10
第 1 章 概要
表 1.6-1 端子機能説明 (2 / 7)
端子番号
LQFP*2
QFP*1
端子名
入出力
回路
形式 *3
P30
7
8
10
9
I
アドレスラッチイネーブル出力端子です。
この機能は外部バスが有効なモードのときに有効となります。
P31
汎用の入出力ポートです。
レジスタの設定により , プルアップ抵抗の有無が設定できま
す。
この機能はシングルチップモードのときに有効となります。
I
RD
データバスに対するリードストローブ出力端子です。
この機能は外部バスが有効なモードのときに有効となります。
P32
汎用の入出力ポートです。
レジスタの設定により , プルアップ抵抗の有無が設定できま
す。
この機能はシングルチップモードあるいは WR/WRL 端子出
力が禁止のときに有効となります。
WRL
I
WR
P33
11
12
汎用の入出力ポートです。
レジスタの設定により , プルアップ抵抗の有無が設定できま
す。
この機能はシングルチップモードのときに有効となります。
ALE
10
12
機能
13
I
データバスのライトストローブ出力端子です。
この機能は外部バスが有効なモードかつ WR/WRL 端子出力
が許可のときに有効となります。
WRL は , 外バスモード・16 ビットバス時のデータバス下位 8
ビットに対するライトストローブ出力端子です。
WR は , 外バスモード・8 ビットバス時のデータバス 8 ビット
に対するライトストローブ出力端子です。
汎用の入出力ポートです。
レジスタの設定により , プルアップ抵抗の有無が設定できま
す。
この機能はシングルチップモードあるいは外部バス 8 ビット
モードあるいは WRH 端子出力が禁止のときに有効となりま
す。
WRH
データバス上位 8 ビットに対するライトストローブ出力端子
です。
この機能は 外部バスが有効なモードかつ外部バス 16 ビット
モードで , WRH 出力端子が許可のときに有効となります。
P34
汎用の入出力ポートです。
レジスタの設定により , プルアップ抵抗の有無が設定できま
す。
この機能はシングルチップモードとホールド機能が禁止のと
きに有効となります。
14
I
HRQ
ホールドリクエスト入力端子です。
この機能は外部バスが有効なモードでホールド機能が許可の
ときに有効となります。
*1:FPT-100P-M06
*2:FPT-100P-M05
*3:入出力回路形式については「1.7 入出力回路形式」を参照してください。
11
第 1 章 概要
表 1.6-1 端子機能説明 (3 / 7)
端子番号
LQFP*2
QFP*1
端子名
入出力
回路
形式 *3
P35
13
14
15
16
17
15
I
汎用の入出力ポートです。
レジスタの設定により , プルアップ抵抗の有無が設定できま
す。
この機能はシングルチップモードとホールド機能が禁止のと
きに有効となります。
HAK
ホールドアクノリッジ出力端子です。
この機能は外部バスが有効なモードでホールド機能が許可の
ときに有効となります。
P36
汎用の入出力ポートです。
レジスタの設定により , プルアップ抵抗の有無が設定できま
す。
この機能はシングルチップモードと外部レディ機能が禁止の
ときに有効となります。
16
I
RDY
レディ入力端子です。
この機能は外部バスが有効なモードで外部レディ機能が許可
のときに有効となります。
P37
汎用の入出力ポートです。
レジスタの設定により , プルアップ抵抗の有無が設定できま
す。
この機能はシングルチップモードとクロック出力指定が禁止
のときに有効となります。
17
H
CLK
クロック 出力端子です。
この機能は外部バスが有効なモードでクロック出力指定が許
可のときに有効となります。
P40
汎用の入出力ポートです。
この機能は UART0 のシリアルデータ出力指定が禁止のとき
に有効となります。
18
G
SOT0
UART0 のシリアルデータ出力端子です。
この機能は UART0 のシリアルデータ出力指定が許可のとき
に有効となります。
P41
汎用の入出力ポートです。
この機能は UART0 のシリアルクロック出力指定が禁止のと
きに有効となります。
19
G
SCK0
20
G
SIN0
UART0 のシリアルクロック入出力端子です。
この機能は UART0 のシリアルクロック出力指定が許可のと
きに有効となります。
汎用の入出力ポートです。
この機能は常時有効です。
P42
18
機能
UART0 のシリアルデータ入力端子です。
UART0 が入力動作をしている間は対応するポート方向レジ
スタ (DDR0 ∼ DDRA) を入力に設定してください。
*1:FPT-100P-M06
*2:FPT-100P-M05
*3:入出力回路形式については「1.7 入出力回路形式」を参照してください。
12
第 1 章 概要
表 1.6-1 端子機能説明 (4 / 7)
端子番号
LQFP*2
QFP*1
端子名
入出力
回路
形式 *3
汎用の入出力ポートです。
この機能は常時有効です。
P43
19
20
22
23
21
G
SIN1
UART1 のシリアルデータ入力端子です。
UART1 が入力動作をしている間は対応するポート方向レジ
スタ (DDR0 ∼ DDRA) を入力に設定してください。
P44
汎用の入出力ポートです。
この機能は UART1 のシリアルクロック出力指定が禁止のと
きに有効となります。
22
G
SCK1
UART1 のシリアルクロック入出力端子です。
この機能は UART1 のシリアルクロック出力指定が許可のと
きに有効となります。
P45
汎用の入出力ポートです。
この機能は UART1 のシリアルデータ出力指定が禁止のとき
に有効となります。
24
G
SOT1
UART1 のシリアルデータ出力端子です。
この機能は UART1 のシリアルデータ出力指定が許可のとき
に有効となります。
P46
汎用の入出力ポートです。
この機能は I/O 拡張シリアルインタフェースのシリアルデー
タ出力指定が禁止のときに有効となります。
25
G
SOT2
P47
24
26
G
SCK2
28
D
SIN2
29 ∼ 32
INT4 ∼
INT7
I/O 拡張シリアルインタフェースのシリアルクロック入出力
端子です。
この機能は I/O 拡張シリアルインタフェースのシリアルク
ロック出力指定が許可のときに有効となります。
I/O 拡張シリアルインタフェースのデータ入力端子です。
シリアルデータが入力動作をしている間は対応するポート方
向レジスタ (DDR0 ∼ DDRA) を入力に設定してください。
汎用の入出力ポートです。
この機能は常時有効です。
P51 ∼ P54
27 ∼ 30
I/O 拡張シリアルインタフェースのデータ出力端子です。
この機能は I/O 拡張シリアルインタフェースのシリアルデー
タ出力指定が許可のときに有効となります。
汎用の入出力ポートです。
この機能は I/O 拡張シリアルインタフェースのシリアルク
ロック出力指定が禁止のときに有効となります。
汎用の入出力ポートです。
この機能は常時有効です。
P50
26
機能
D
INT4 ∼ INT7 の外部割込み要求入力端子です。
外部割込み入力動作をしている間は対応するポート方向レジ
スタ (DDR0 ∼ DDRA) を入力に設定してください。
*1:FPT-100P-M06
*2:FPT-100P-M05
*3:入出力回路形式については「1.7 入出力回路形式」を参照してください。
13
第 1 章 概要
表 1.6-1 端子機能説明 (5 / 7)
端子番号
LQFP*2
QFP*1
端子名
入出力
回路
形式 *3
汎用の入出力ポートです。
この機能は常時有効です。
P55
31
36 ∼ 39
41 ∼ 44
ADTG
8/10 ビット A/D コンバータの外部トリガ入力端子です。
8/10 ビット A/D コンバータが入力動作をしている間は対応す
るポート方向レジスタ (DDR0 ∼ DDRA) を入力に設定してく
ださい。
P60 ∼ P63
汎用の入出力ポートです。
この機能はアナログ入力許可レジスタの指定がポートのとき
に有効となります。
33
D
E
38 ∼ 41
AN0 ∼
AN3
8/10 ビット A/D コンバータのアナログ入力端子です。
この機能はアナログ入力許可レジスタの指定が許可のときに
有効となります。
P64 ∼ P67
汎用の入出力ポートです。
入力機能はアナログ入力許可レジスタの指定がポートのとき
に有効となります。
E
43 ∼ 46
AN4 ∼
AN7
47
D
TIN0
P57
46
48
D
TOT0
D
53 ∼ 58
IN0 ∼ IN5
16 ビットリロードタイマ 0 のイベント入力端子です。
16 ビットリロードタイマ 0 が入力動作をしている間は対応す
るポート方向レジスタ (DDR0 ∼ DDRA) を入力に設定してく
ださい。
汎用の入出力ポートです。
この機能は 16 ビットリロードタイマ 0 の出力指定が禁止の
ときに有効となります。
16 ビットリロードタイマ 0 の出力端子です。
この機能は 16 ビットリロードタイマ 0 の出力指定が許可の
ときに有効となります。
汎用の入出力ポートです。
この機能は常時有効です。
P70 ∼ P75
51 ∼ 56
8/10 ビット A/D コンバータのアナログ入力端子です。
この機能はアナログ入力許可レジスタの指定が許可のときに
有効となります。
汎用の入出力ポートです。
この機能は常時有効です。
P56
45
機能
インプットキャプチャ ICU0 ∼ ICU5 のトリガ入力端子です。
インプットキャプチャが入力動作をしている間は対応する
ポート方向レジスタ (DDR0 ∼ DDRA) を入力に設定してくだ
さい。
*1:FPT-100P-M06
*2:FPT-100P-M05
*3:入出力回路形式については「1.7 入出力回路形式」を参照してください。
14
第 1 章 概要
表 1.6-1 端子機能説明 (6 / 7)
端子番号
LQFP*2
QFP*1
端子名
入出力
回路
形式 *3
P76, P77
57, 58
59 ∼ 62
63, 64
59, 60
OUT2,
OUT3
D
IN6, IN7
P80 ∼ P83
汎用の入出力ポートです。
この機能は 8/16 ビット PPG タイマの波形出力指定が禁止の
ときに有効となります。
D
61 ∼ 64
PPG0 ∼
PPG3
8/16 ビット PPG タイマの出力端子です。
この機能は 8/16 ビット PPG タイマの波形出力指定が許可の
ときに有効となります。
P84, P85
汎用の入出力ポートです。
この機能はアウトプットコンペア (OCU) の出力指定が禁止の
ときに有効となります。
65, 66
D
67
D
TIN1
P87
68
D
TOT1
P90 ∼ P93
67 ∼ 70
69 ∼ 72
INT0 ∼
INT3
アウトプットコンペア OCU0 と OCU1 のイベント出力端子で
す。
この機能はアウトプットコンペア (OCU) の出力指定が許可の
ときに有効となります。
汎用の入出力ポートです。
この機能は常時有効です。
P86
66
汎用の入出力ポートです。
この機能はアウトプットコンペア (OCU) の出力指定が禁止の
ときに有効となります。
アウトプットコンペア OCU2 と OCU3 のイベント出力端子で
す。
この機能はアウトプットコンペア (OCU) の出力指定が許可の
ときに有効となります。
インプットキャプチャ ICU6 および ICU7 のトリガ入力端子
です。
インプットキャプチャが入力動作をしている間は対応する
ポート方向レジスタ (DDR0 ∼ DDRA) を入力に設定し , アウ
トプットコンペア出力を禁止してください。
OUT0,
OUT1
65
機能
D
16 ビットリロードタイマ 1 の入力端子です。
16 ビットリロードタイマが入力動作をしている間は対応する
ポート方向レジスタ (DDR0 ∼ DDRA) を入力に設定してくだ
さい。
汎用の入出力ポートです。
この機能は 16 ビットリロードタイマ 0 の出力指定が禁止の
ときに有効となります。
16 ビットリロードタイマ 1 の出力端子です。
この機能は 16 ビットリロードタイマ 1 の出力指定が許可の
ときに有効となります。
汎用の入出力ポートです。
この機能は常時有効です。
INT0 ∼ INT3 の外部割込み要求入力端子です。
外部割込み入力動作をしている間は対応するポート方向レジ
スタ (DDR0 ∼ DDRA) を入力に設定してください。
*1:FPT-100P-M06
*2:FPT-100P-M05
*3:入出力回路形式については「1.7 入出力回路形式」を参照してください。
15
第 1 章 概要
表 1.6-1 端子機能説明 (7 / 7)
端子番号
LQFP*2
QFP*1
端子名
入出力
回路
形式 *3
P94
71
72
73
74
73
D
機能
汎用の入出力ポートです。
この機能は CAN0 の出力指定が禁止のときに有効となります。
TX0
CAN0 用の TX 出力端子です。
この機能は CAN0 の出力指定が許可のときに有効となります。
P95
汎用の入出力ポートです。
この機能は常時有効です。
74
D
RX0
CAN0 インタフェース用の RX 入力端子です。
CAN 機能使用時は , ほかの機能による出力を停止させておく
必要があります。
P96
汎用の入出力ポートです。
この機能は CAN1 の出力指定が禁止のときに有効となります。
75
D
TX1
CAN1 用の TX 出力端子です。
この機能は CAN1 の出力指定が許可のときに有効となります
(MB90540 シリーズのみ )。
P97
汎用の入出力ポートです。
この機能は常時有効です。
76
D
CAN1 インタフェース用の RX 入力端子です。
CAN 機能使用時は , ほかの機能による出力を停止させておく
必要があります (MB90540 シリーズのみ )。
D
汎用の入出力ポートです。
この機能は常時有効です。
RX1
76
78
PA0
32
34
AVCC
電源
A/D コンバータの電源端子です。
この電源の投入 / 切断は必ずVCC に AVCC 以上の電位が印加
してある状態で行ってください。
35
37
AVSS
33
35
AVRH
電源
A/D コンバータの電源端子です。
電源
A/D コンバータの外部基準電源端子です。
この端子の投入 / 切断は必ずAVCC にAVRH 以上の電位が印
加してある状態で行ってください。
34
36
AVRL
電源
47, 48
49, 50
MD0, MD1
C
動作モード指定用入力端子です。
VCC あるいは VSS に直接つないで使用してください。
49
51
MD2
F
動作モード指定用入力端子です。
VCC あるいは VSS に直接つないで使用してください。
25
27
C
⎯
電源安定化の容量端子です。
外部に 0.1 µF 程度のセラミックコンデンサを接続してくださ
い。
21, 82
23, 84
VCC
電源
電源 (5.0 V) 入力端子です。
VSS
電源
電源 (0.0 V) 入力端子です。
9, 40, 79 11, 42, 81
A/D コンバータの外部基準電源端子です。
*1:FPT-100P-M06
*2:FPT-100P-M05
*3:入出力回路形式については「1.7 入出力回路形式」を参照してください。
16
第 1 章 概要
1.7
入出力回路形式
表 1.7-1 に , 各端子の回路形式について示します。
■ 入出力回路形式
表 1.7-1 入出力回路形式 (1/3)
分類
回 路
備 考
X1, X1A
クロック入力
A
・発振帰還抵抗 約1MΩ(高速発振)
約10MΩ(低速発振)
X0, X0A
スタンバイ制御信号
・CMOSヒステリシス入力
・プルアップ抵抗値 約50kΩ
B
R(プルアップ)
R
CMOS
ヒステリシス入力
・CMOSヒステリシス入力
R
C
CMOS
ヒステリシス入力
P-ch
・CMOSレベル出力
・CMOSヒステリシス入力
N-ch
D
R
CMOSヒステリシス入力
17
第 1 章 概要
表 1.7-1 入出力回路形式 (2/3)
分類
回 路
備 考
Vcc
P-ch
・CMOS出力
・CMOSヒステリシス入力
・アナログ入力
N-ch
E
P-ch
アナログインプット
N-ch
CMOSヒステリシス入力
R
R
F
CMOS
ヒステリシス入力
R(プルダウン)
Vcc
P-ch
N-ch
・CMOSヒステリシス入力
・プルダウン抵抗 約50kΩ
(フラッシュ品を除く)
・CMOS出力
・CMOSヒステリシス入力
・TTL入力(フラッシュ書込み
モードのフラッシュデバイス
品のみ)
G
CMOSヒステリシス入力
R
TTL
R
Vcc
CNTL
Vcc
P-ch
N-ch
H
CMOSヒステリシス入力
R
18
・CMOS出力
・CMOSヒステリシス入力
・プログラマブルプルアップ
抵抗 約50kΩ
第 1 章 概要
表 1.7-1 入出力回路形式 (3/3)
分類
回 路
Vcc
備 考
CNTL
Vcc
P-ch
N-ch
I
・CMOS出力
・CMOSヒステリシス入力
・TTL入力(フラッシュ書込み
モードのフラッシュデバイス
品のみ)
・プログラマブルプルアップ
抵抗 約50kΩ
CMOSヒステリシス入力
R
TTL
R
19
第 1 章 概要
1.8
デバイスの取扱いに関する注意事項
デバイスを取り扱う際に注意が必要な事項について説明します。
■ デバイスの取扱いに関する注意事項
● 供給電圧の安定化
VCC 電源電圧の動作保証内においても , 電源電圧の急激な変化があると誤動作を起こ
す場合がありますので , VCC 電源電圧を安定させてください。
安定化の基準としては , 商用周波数 (50Hz ∼ 60Hz) での VCC リプル変動 (peak to peak
値 ) は , 標準 VCC 電源電圧値の 10 % 以下に , また電源の切換え時などの瞬時変化にお
いては , 過度変動率が 0.1V/ms 以下になるように電源電圧を抑えてください。
● 最大定格電圧の厳守 ( ラッチアップの防止 )
最大定格を超えることのないよう注意してください ( ラッチアップの防止 )。
CMOS IC では , 入力端子や出力端子に VCC より高い電圧や VSS より低い電圧が印加さ
れた場合または VCC 端子と VSS 端子との間に定格を超える電圧が印加された場合に ,
ラッチアップ現象を生じることがあります。
ラッチアップ現象が起きると電源電流が激増し,素子の熱破壊に至る場合がありますの
で , 使用に際しては , 最大定格を超えることのないよう十分注意してください。
また , アナログ電源投入時および切断時においてもアナログ電源電圧 (AVCC, AVRH) と
アナログ入力電圧は , デジタル電源電圧 (VCC) を超えることのないよう十分注意してく
ださい。
● 未使用端子の処理について
使用していない入力端子を開放のままにしておくと , 誤動作およびラッチアップによる
永久破損の原因となることがありますので , 2kΩ 以上の抵抗を介して , プルアップまた
はプルダウンの処理をしてください。また , 使用していない入出力端子については , 出
力状態にして開放とするか , 入力状態の場合は入力端子と同じ処置をしてください。
● 外部クロック使用時の注意について
外部クロックを使用する場合は , X0 端子のみを駆動し , X1 端子は開放してください。
図 1.8-1 外部クロック使用例
MB90540/545シリーズ
X0
開放
20
X1
第 1 章 概要
● 電源端子について (VCC/VSS)
• VCC, VSS 端子が複数ある場合 , デバイス設計上はラッチアップなどの誤動作を防止
するために , 同電位にすべき端子はデバイス内部で接続してありますが , 不要輻射
の低減 , グランドレベルの上昇によるストローブ信号の誤動作防止 , 総出力電流規
格を守るなどのために , 必ず VCC, VSS 端子を外部で電源およびグランドに接続して
ください ( 下図を参照 )。
また,電流供給源からできる限り低インピーダンスでこのデバイスの VCC, VSS に接
続するように配慮してください。
さらに , このデバイスの近くで , VCC と VSS の間に 0.1 µF 程度のコンデンサをバイ
パスコンデンサとして接続することをお薦めします。
• 電源ノイズ対策として , このデバイスの近くで , VCC と VSS 端子の近くで , 0.1 µF 程
度のコンデンサをバイパスコンデンサとして接続することをお薦めします。
図 1.8-2 電源端子 (VCC/VSS) の取扱い
◎Vcc
◎Vss
Vss
Vcc
Vss
Vcc
MB90540/545
シリーズ
Vcc
Vss
Vss
Vcc
● プルアップ / プルダウン抵抗器について
MB90540/545 シリーズは内蔵のプルアップ / プルダウン抵抗器をサポートしていませ
ん ( ポート 0 ∼ポート 3 のプルアップ抵抗を除く ) ので , 必要に応じて外付けしてくだ
さい。
● 水晶発振回路について
X0, X1 端子の近辺のノイズはこのデバイスの誤動作の原因となります。X0, X1 端子お
よび水晶振動子 ( あるいはセラミック振動子 ) さらにグランドへのバイパスコンデンサ
はできる限り近くになるように , またその配線は , ほかの配線とできる限り交差しない
ようにプリント基板を設計してください。
また , X0, X1 端子の回りをグランドで囲むようなプリント基板アートワークは , 安定し
た動作を期待できますので , 強くお薦めします。各量産品において , ご使用される発振
子メーカに発振評価依頼をしてください。
● A/D コンバータの電源 , アナログ入力の投入順序について
A/D コンバータ , D/A コンバータの電源 (AVCC, AVRH, AVRL) およびアナログ入力
(AN0 ∼ AN7) の印加は , 必ずデジタル電源 (VCC) の投入後に行ってください。
また , 電源切断時は A/D コンバータの電源およびアナログ入力の遮断の後で , デジタル
21
第 1 章 概要
電源の遮断を行ってください。その際 , AVRH, AVCC を超えないように投入・切断を
行ってください ( アナログ電源とデジタル電源を同時に投入 , 遮断することは問題あり
ません )。
● A/D コンバータ未使用時の端子処理について
A/D コン バータ および D/A コ ンバー タを使 用しな いとき は , AVCC=VCC, AVSS=
AVRH=VSS に接続してください。
● N.C. 端子の処理について
N.C.( 内部接続 ) 端子は , 必ず開放にして使用してください。
● 電源投入時の注意点
内部に内蔵している降圧回路の誤動作を防ぐために,電源投入時における電圧の立上り
時間は , 50 µs(0.2V ∼ 2.7V 間 ) 以上を確保してください。
● サブクロック使用時の注意について
サブクロックを使用しない場合は , 1 系統品をご使用ください。そのとき , X0A 端子に
プルダウンの処理をして , X1A 端子は開放してください。2 系統品は必ず X0A, X1A 端
子に 32kHz 以下の振動子を接続してください。
● ポート 0, 1 からの出力が不定となる場合 (MB90F543/F549/V540/V540G のみ )
電源を投入後 , 降圧回路の発振安定待ち時間 ( パワーオンリセット中 ) の RST 端子が
"H" の場合 , ポート 0, 1 から不定を出力します。RST 端子が "L" の場合 , ポート 0, 1 は
ハイインピーダンス状態になります。タイミングは図 1.8-3 , 図 1.8-4 のようになります
ので注意してください。
図 1.8-3 ポート 0, 1 が不定出力になるタイミングチャート (RST 端子が "H" の場合 )
2
発振安定待ち時間 *
1
降圧回路の安定待ち時間 *
Vcc(電源端子)
PONR(パワーオンリセット)信号
RST(外部非同期リセット)信号
RST(内部リセット)信号
発振クロック信号
KA(内部動作クロックA)信号
KB(内部動作クロックB)信号
PORT(ポート出力)信号
出力不定期間
*1:降圧回路の発振安定待ち時間 217/発振クロック周波数(発振クロック周波数16MHzの場合,約 8.19ms)
*2:発振安定待ち時間 218/発振クロック周波数(発振クロック周波数16MHzの場合,約16.38ms)
22
第 1 章 概要
図 1.8-4 ポート 0, 1 がハイインピーダンス状態になるタイミングチャート
(RST 端子が "L" の場合 )
2
発振安定待ち時間 *
1
降圧回路の安定待ち時間 *
Vcc(電源端子)
PONR(パワーオンリセット)信号
RST(外部非同期リセット)信号
RST(内部リセット)信号
発振クロック信号
KA(内部動作クロックA)信号
KB(内部動作クロックB)信号
PORT(ポート出力)信号
ハイインピーダンス
*1:降圧回路の発振安定待ち時間 2
17
/発振クロック周波数(発振クロック周波数16MHzの場合,約 8.19ms)
*2:発振安定待ち時間 2
18
/発振クロック周波数(発振クロック周波数16MHzの場合,約16.38ms)
● 初期化について
デバイス内には,パワーオンリセットによってのみ初期化される内蔵レジスタ類があり
ます。これらの初期化を期待する場合は電源の再投入を行ってください。
●「DIV A,Ri」,「DIVW A,RWi」命令の使用上の注意
符号付乗除計算命令「DIV A,Ri」,「DIVW A,RWi」命令は , 対応するバンクレジスタ
(DTB, ADB, USB, SSB) の値を "00H" に設定し , 使用してください。
対応するバンクレジスタ (DTB, ADB, USB, SSB) の値を "00H" 以外に設定した場合 , 命
令実行結果により得られる余りは , 命令オペランドのレジスタに格納されません。
詳細は 「
, 2.11 「DIV A,Ri」「
, DIVW A,RWi」命令の使用上の注意」を参照してください。
● REALOS を使用する場合
REALOS を使用する場合は , 拡張インテリジェント I/O サービス (EI2OS) が使用できま
せん。
● PLL クロックモード動作中の注意について
本マイコンで PLL クロックを選択しているときに発振子が外れたり , あるいはクロッ
ク入力が停止した場合 , 本マイコンは PLL 内部の自励発振回路の自走周波数で動作を
継続し続ける場合があります。この動作は , 保証外の動作です。
23
第 1 章 概要
24
第2章
CPU
CPU について説明します。
2.1 CPU の概要
2.2 メモリ空間
2.3 メモリ空間マップ
2.4 リニア方式によるアドレス指定
2.5 バンク方式によるアドレス指定
2.6 メモリ空間における多バイト長データ
2.7 レジスタ
2.8 レジスタバンク
2.9 プリフィックスコード
2.10 割込み抑止命令
2.11 「DIV A,Ri」,「DIVW A,RWi」命令の使用上の注意
25
第 2 章 CPU
2.1
CPU の概要
F2MC-16LX CPU コアは , 民生用・車載用機器などの高速リアルタイム処理が要求さ
れる用途向けに設計された 16 ビット CPU です。F2MC-16LX の命令セットはコン
トローラ用途向けに設計されており , 各種制御の高速・高効率処理が可能です。
■ CPU の概要
F2MC-16LX CPU コアは , 16 ビットデータ処理は勿論 , 内部に 32 ビットアキュムレー
タを塔載しているため 32 ビットデータ処理も可能です (32 ビットデータ処理にはいく
つかの命令が使用されます )。メモリ空間は最大 16M バイト ( 拡張可能 ), リニア方式
およびバンク方式のいずれかにてアクセス可能です。また , 命令体系は F2MC-8L の
A-T アーキテクチャをベースに , 高級言語対応命令の追加・アドレッシングモードの拡
張・乗除算命令の強化・ビット処理の充実化により命令が強化されています。
以下に , F2MC-16LX CPU の特長を示します。
● 最小命令実行時間
62.5ns (4MHz 発振 , 4 逓倍 )
● 最大メモリ空間
16M バイト , リニア / バンク方式にてアクセス
● コントローラ用途に最適化された命令体系
• 豊富なデータタイプ ビット / バイト / ワード / ロングワード
• 拡張されたアドレッシングモード 23 種類
• 32 ビットアキュムレータの採用による高精度演算 (32 ビット長 )
● 強力な割込み機能
8 つのプライオリティレベル ( プログラマブル )
● CPU に依存しない自動転送機能
最大 16 チャネルまでの拡張インテリジェント I/O サービス
● 高級言語 (C 言語 )/ マルチタスクに対応した命令体系
システムスタックポイント / 命令セットの対称性 / バレルシフト命令
● 実行速度の向上
4 バイトのキュー
26
第 2 章 CPU
2.2
メモリ空間
F2MC-16LX CPU には 16M バイトのメモリ空間があります。F2MC-16LX CPU が管
理するデータ・プログラム・I/O はすべてこの 16M バイトのメモリ空間に配置され
ます。CPU は 24 ビットのアドレスバスでこれらのアドレスを示すことにより , 各リ
ソースをアクセスすることができます。
■ CPU メモリ空間の概要
図 2.2-1 に , F2MC-16LX システムとメモリマップの関係例を示します。
図 2.2-1 F2MC-16LX システムとメモリマップの関係例
FFFFFFH
F2MC-16LX
CPU
プログラム
FF8000H
データ
810000H
割込み
800000H
データ領域
周辺回路
〔デバイス〕
プログラム領域
汎用ポート
0000C0H
0000B0H
000020H
000000H
割込みコントローラ
周辺回路
汎用ポート
■ アドレス指定の方式
F2MC-16LX のアドレス指定には , 以下に示す 2 つの方式があります。
● リニア方式
24 ビットアドレスすべてを命令により指定する方式
● バンク方式
アドレス上位 8 ビットを用途に応じたバンクレジスタで , アドレス下位 16 ビットを命
令により指定する方式
27
第 2 章 CPU
メモリ空間マップ
2.3
図 2.3-1 に , MB90540/545 シリーズのメモリ空間マップを示します。
■ メモリ空間マップ
図 2.3-1 に示すように , バンク 00 の上位部分は FF バンク ROM のイメージであり , C コ
ンパイラのスモールモデルを有効にします。下位 16 ビットも同様なため , ポインタ宣
言内の far 仕様を使用せずに ROM 内のテーブルを参照できます。例えば , "00C000H" に
アクセスしようとすると , ROM 内の "FFC000H" の値にアクセスすることになります。
バンク FF 内の ROM 領域は 48K バイトを超え , バンク 00 内にその全体イメージを表
示することはできません。
"FF4000H" ∼ "FFFFFFH" の間のイメージはバンク 00 内で可視ですが , "FF0000H" ∼
"FF3FFFH" の間のイメージはバンク FF 内でしか可視でありません。
図 2.3-1 メモリ空間マップ
MB90V540/V540G/
F546G(S)
FFFFFFH
FF0000H
FEFFFFH
FE0000H
FDFFFFH
FD0000H
FCFFFFH
FC0000H
MB90543G(S)/F543/
F543G(S)
FFFFFFH
FFFFFFH
ROM (FFバンク)
ROM (FEバンク)
FF0000H
FEFFFFH
FE0000H
MB90F548G(S)/
F548GL(S)/
548G(S)
ROM (FFバンク)
ROM (FEバンク)
FF0000H
FEFFFFH
FE0000H
FFFFFFH
ROM (FFバンク)
ROM (FEバンク)
ROM (FDバンク)
外部アクセス
メモリ
外部アクセス
メモリ
ROM (FCバンク)
MB90F549/549G(S)/
F549G(S)
FE0000H
FDFFFFH
FD0000H
FCFFFFH
FC0000H
004000H
003FFFH
ROM(FFバンクの
イメージ)
00FFFFH
004000H
003FFFH
0020FFH
001FF5H
001FF0H
外部アクセスメモリ
ROM補正
003900H
002000H
外部アクセス
メモリ
0018FFH
RAM 8Kバイト
外部アクセスメモリ
周辺
004000H
003FFFH
周辺
003900H
002000H
外部アクセス
メモリ
FF0000H
ROM (FFバンク)
ROM (FEバンク)
ROM (FDバンク)
外部アクセス
メモリ
ROM (FCバンク)
周辺
00FFFFH ROM(FFバンクの
004000H イメージ)
003FFFH
周辺
003900H
外部アクセス
メモリ
002100H*
RAM 4Kバイト
ROM(FFバンクの
004000H イメージ)
003FFFH
周辺
003900H
外部アクセス
メモリ
002000H
RAM 6Kバイト
0008FFH
外部アクセスメモリ
000100H
周辺
0000BFH
000000H
RAM 2Kバイト
000100H
外部アクセスメモリ
0000BFH
000000H
00FFFFH
0018FFH
000100H
外部アクセスメモリ
0000BFH
000000H
ROM(FFバンクの
イメージ)
0010FFH
*:MB90F549 は "002000H" となります。
28
00FFFFH
RAM 6Kバイト
000100H
000100H
0000BFH
000000H
ROM(FFバンクの
イメージ)
周辺
周辺
003900H
FFFFFFH
外部アクセス
メモリ
外部アクセス
メモリ
00FFFFH
ROM (FFバンク)
FF0000H
FEFFFFH
MB90547G(S)
周辺
0000BFH
000000H
外部アクセスメモリ
周辺
第 2 章 CPU
2.4
リニア方式によるアドレス指定
リニア方式には以下に示す 2 つの方式があります。
• 24 ビットオペランド指定
: オペランドにて直接 24 ビットのアドレスを指定す
る方式
• 32 ビットレジスタ間接指定 : 32 ビットの汎用レジスタの内容の下位 24 ビットを
アドレスとして引用する方式
■ 24 ビットオペランド指定
図 2.4-1 に , 24 ビットオペランド指定の例を , 図 2.4-2 に , 32 ビットレジスタ間接指定
の例を示します。
図 2.4-1 リニア方式 (24 ビットオペランド指定 ) の例
JMPP 123456H
旧プログラムカウンタ
+プログラムバンク
17
17452DH
452D
123456H
新プログラムカウンタ
+プログラムバンク
12
JMPP 123456H
次の命令
3456
■ 32 ビットレジスタ間接指定
図 2.4-2 リニア方式 (32 ビットレジスタ間接指定 ) の例
MOV A,@RL1+7
旧AL
090700H
XXXX
3A
+7
RL1
(上位8ビットは無視)
新AL
240906F9
003A
29
第 2 章 CPU
2.5
バンク方式によるアドレス指定
バンク方式は 16M バイトの空間を 64K バイトごとの 256 個のバンクに分割し , 以下
に示す 5 個のバンクレジスタで各空間に対応するバンクを指定します。
• プログラムカウンタバンクレジスタ (PCB)
• データバンクレジスタ (DTB)
• ユーザスタックバンクレジスタ (USB)
• システムスタックバンクレジスタ (SSB)
• アディショナルデータバンクレジスタ (ADB)
■ バンク方式によるアドレス指定
● プログラムカウンタバンクレジスタ (PCB) による指定
プログラムカウンタバンクレジスタ (PCB) によって指定される 64K バイトのバンクを
プログラム (PC) 空間とよび , 主として命令コードやベクタテーブル , 即値データなど
が存在します。
● データバンクレジスタ (DTB) による指定
データバンクレジスタ (DTB) によって指定される 64K バイトのバンクをデータ (DT) 空
間とよび , 主として読み書き可能なデータや内外リソースの制御 / データレジスタなど
が存在します。
● ユーザスタックバンクレジスタ (USB)・システムスタックバンクレジスタ (SSB) による指定
ユーザスタックバンクレジスタ(USB)あるいはシステムスタックバンクレジスタ(SSB)
によって指定される 64K バイトのバンクをスタック (SP) 空間とよび , プッシュ / ポッ
プ命令や割込みのレジスタ退避などの際にスタックアクセスが生じたときにアクセス
される領域です。どちらの空間が使用されるかはコンディションコードレジスタ中の
S フラグの値に依存します。
● アディショナルデータバンクレジスタ (ADB) による指定
アディショナルデータバンクレジスタ (ADB) によって指定される 64K バイトのバンクを
アディショナル (AD) 空間とよび , 主として DT 空間に入りきらなかったデータなどが存
在します。
表 2.5-1 に示すように , 各アドレッシングモードで使用されるデフォルト空間が , 命令
のコード効率を向上するために事前に決められています。また , あるアドレッシングを
用いたときにデフォルト以外の空間を使用したいときは,各バンクに対応しているプリ
フィックスコードを命令に先行して指定することにより,そのプリフィックスコードに
対応した任意のバンク空間をアクセスすることができます。
DTB, USB, SSB, ADB はリセットにより "00H" に初期化され , PCB はリセットベクタによ
り指定された値に初期化されます。リセット後 , DT, SP, AD の各空間はバンク "00H"
(000000H ∼ 00FFFFH) に配置され , PC 空間はリセットベクタにより指定されたバンクに
配置されます。
30
第 2 章 CPU
表 2.5-1 デフォルト空間
デフォルト空間
プログラム空間
データ空間
アドレッシングモード
PC 間接 , プログラムアクセス , 分岐系
@RW0,@RW1,@RW4,@RW5 を用いたアドレッシングモード ,@A, addr16, dir
スタック空間
PUSHW, POPW,@RW3,@RW7 を用いたアドレッシングモード
アディショナル空間 @RW2,@RW6 を用いたアドレッシングモード
図 2.5-1 に , レジスタバンクに分割されたメモリ空間の例を示します。
図 2.5-1 各空間の物理アドレス
FFFFFFH
理
ア
ド
レ
ス
物
FF0000H
B3FFFFH
B30000H
92FFFFH
920000H
68FFFFH
680000H
4BFFFFH
4B0000H
プログラム空間
アディショナル空間
ユーザスタック空間
データ空間
FFH
: PCB(プログラムカウンタバンクレジスタ)
B3H
: ADB(アディショナルデータバンクレジスタ)
92H
: USB(ユーザスタックバンクレジスタ)
68H
: DTB(データバンクレジスタ)
4BH
: SSB(システムスタックバンクレジスタ)
システムスタック空間
000000H
31
第 2 章 CPU
メモリ空間における多バイト長データ
2.6
メモリへの書込みはアドレスの低い方から順に行われます。したがって , 32 ビット
長データであれば下位 16 ビットが先に転送され , 続いて上位 16 ビットが転送され
ます。
なお , 下位データの書込み直後にリセット信号を入力すると上位データが書き込まれ
ないことがあります。
■ メモリ空間における多バイト長データの配置
図 2.6-1 に , メモリにおける多バイト長データの構成を示します。データは下位 8 ビッ
トが n 番地に , 以下 n+1 番地 , n+2 番地 , n+3 番地・・・の順に配置されます。
図 2.6-1 メモリにおける多バイト長データの配置の例
MSB
"H"
↑
LSB
01010101
11001100
11111111
00010100
01010101
11001100
11111111
n番地
00010100
↓
"L"
■ 多バイト長データのアクセス
アクセスはバンク内を基本にして行われますので,多バイト長のデータをアクセスする
命令では , "FFFFH" 番地の次のアドレスは同じバンクの "0000H" 番地になります。
図 2.62 に , 多バイト長データのアクセス命令の例を示します。
図 2.6-2 MOVW A, 080FFFFH の実行
"H"
↑
80FFFFH
↓
"L"
32
??
??
実行後のAL
23H
01H
01H
・
・
・
800000H
実行前のAL
23H
第 2 章 CPU
2.7
レジスタ
F2MC-16LX のレジスタは大別して , CPU 内の専用レジスタと , メモリ内の汎用レジ
スタの 2 種類に分けることができます。
専用レジスタは , CPU の内部に専用ハードウェアとして存在し , 使用する用途が
CPU のアーキテクチャ上で限定されています。
汎用レジスタは , CPU のアドレス空間上に RAM と共存し , アドレスを指定しないで
アクセスできるという点では専用レジスタと同じです。
通常のメモリと同じく , 使用する用途をユーザが指定することができます。
■ 専用レジスタ
F2MC-16LXCPU コアの専用レジスタは以下に示す 11 本があります。
• アキュムレータ (A=AH:AL)
:16 ビット× 2 本のアキュムレータ ( 合計 32 ビッ
トのアキュムレータとしても使用可能 )
• ユーザスタックポインタ (USP)
: ユーザスタック領域を示す 16 ビットのポイン
タ
• システムスタックポインタ (SSP)
: システムスタック領域を示す 16 ビットのポイ
ンタ
• プロセッサステータス (PS)
: システムの状態を示す 16 ビットのレジスタ
• プログラムカウンタ (PC)
: プログラムが格納されているアドレスを持つ 16
ビットのレジスタ
• プログラムカウンタバンクレジスタ (PCB)
• データバンクレジスタ (DTB)
: PC 空間を示す 8 ビットのレジスタ
:DT 空間を示す 8 ビットのレジスタ
• ユーザスタックバンクレジスタ (USB)
: ユーザスタック空間を示す 8 ビット
のレジスタ
• システムスタックバンクレジスタ (SSB)
: システムスタック空間を示す 8 ビット
のレジスタ
• アディショナルデータバンクレジスタ (ADB): A/D 空間を示す 8 ビットのレジスタ
• ダイレクトページレジスタ (DPR) : ダイレクトページを示す 8 ビットのレジスタ
図 2.7-1 に , 専用レジスタの構成を示します。
33
第 2 章 CPU
図 2.7-1 専用レジスタ
AH
32ビット
アキュムレータ
AL
USP
ユーザスタックポインタ
SSP
システムスタックポインタ
PS
プロセッサステータス
PC
プログラムカウンタ
DPR
ダイレクトページレジスタ
PCB
プログラムカウンタバンクレジスタ
DT B
データバンクレジスタ
USB
ユーザスタックバンクレジスタ
SS B
システムスタックバンクレジスタ
ADB
アディショナルデータバンクレジスタ
8ビット
16ビット
■ 汎用レジスタ
F2MC-16LX の汎用レジスタは主記憶の "000180H" ∼ "00037FH"( 最大の場合 ) に存在し ,
レジスタバンクポインタ (RP) によって先に述べたアドレスのどの部分が現在使用中の
レジスタバンクであるかを指定します。各バンクには以下に示す 3 種類のレジスタが
存在します。これらのレジスタは , 図 2.7-2 に示すように互いに依存しています。
• R0 ∼ R7
: 8 ビットの汎用レジスタ
• RW0 ∼ RW7
: 16 ビットの汎用レジスタ
• RL0 ∼ RL3
: 32 ビットの汎用レジスタ
図 2.7-2 汎用レジスタ
MSB
000180H + RP×10H
16ビット
下位
LSB
RW0
汎用レジスタの
先頭アドレス
RL 0
RW1
RW2
RL 1
RW3
上位
R1
R0
RW 4
R3
R2
RW 5
R5
R4
RW 6
R7
R6
RW 7
バイトレジスタとワードレジスタの上位 / 下位バイトの関係は ,
RW(i+4) = R(i × 2+1) × 256+R(i × 2) [i=0 ∼ 3]
という式で表すことができ , RLi の上位・下位と RW の関係は
RL(i) = RW(i × 2+1) × 65536+RW(i × 2) [i=0 ∼ 3]
という式で表すことができます。
34
RL 2
RL 3
第 2 章 CPU
2.7.1
アキュムレータ (A)
アキュムレータ (A) レジスタは , 2 つの 16 ビット長の演算用レジスタ AH および AL
で構成され , 演算などを行った際の結果やデータ転送の一時記憶などに使用されま
す。
■ アキュムレータ (A)
32 ビットデータ処理時は AH と AL を連結して使用します。また , 16 ビットデータ処
理モードのワード処理や 8 ビットデータ処理モードのバイト処理のときは AL のみが使
用されます ( 図 2.7-3 と図 2.7-4 を参照 )。A レジスタ中のデータはメモリ / レジスタ (Ri,
RWi, RLi) 中のデータと各種演算ができ , F2MC-8L のときと同様 , ワード長以下のデー
タを AL へ転送しますと , 転送前の AL 中のデータが自動的に AH に転送されます ( デー
タ保持機能 ) ので , データ保持機能と AL-AH 間演算にて各種処理効率を上げることが
可能になります。
AL へのバイト長以下のデータの転送時は , データは符号拡張またはゼロ拡張され 16
ビット長となり AL へ格納されます。AL 中のデータは , ワード長としてもバイト長と
しても扱えます。AL にバイト処理の算術演算命令を実行すると , 演算前の AL の上位
8 ビットは無視され演算結果の上位 8 ビットはすべて "0" になります。A レジスタは ,
リセットでは初期化されず , リセット直後は不定値になります。
図 2.7-3 32 ビットデータ転送例
MOVL A, @RW1+ 6 (RW1の内容+8ビット長オフセットの結果を番地としてロング
ワード長リードを行い,その内容をAに格納する命令)
MSB
実行前のA
XXXXH
XXXXH
DTB
実行後のA
8F74 H
2B52H
AH
AL
A6 H
メモリ空間
LSB
A61540 H
8FH
74 H
A6153E H
2B H
52H
RW1
15 H
38 H
+6
図 2.7-4 AL-AH 転送例
MOVW
A,@RW1+6
(RW1の内容+8ビット長オフセットの結果を番地としてワード長
リードを行い,その内容をAに格納する命令)
MSB
実行前のA
XXXXH
1234H
DTB
実行後のA
1234H
2B52H
AH
AL
A6H
メモリ空間
LSB
A61540H
8FH
74H
A6153EH
2BH
52H
15H
38H
+6
RW1
35
第 2 章 CPU
ユーザスタックポインタ (USP) とシステムスタック
ポインタ (SSP)
2.7.2
ユーザスタックポインタ (USP) およびシステムスタックポインタ (SSP) は , 16
ビットのレジスタであり , プッシュ / ポップ命令およびサブルーチン実行時のデータ
退避 / 復帰のメモリアドレスを示します。
■ ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP)
ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP) は , スタック系の
命令により使用されますが , プロセッサステータスレジスタ中の S フラグが "0" のと
きは , USP レジスタが有効になり , S フラグが "1" のときは SSP レジスタが有効にな
ります ( 図 2.7-5 を参照 )。また , 割込みが受け付けられると S フラグがセットされる
ため , 割込み時のレジスタ退避は必ず SSP の示すメモリ中に行われます。割込みルー
チンでのスタック処理は SSP で , 割込みルーチン以外のスタック処理は USP が用いら
れます。スタック空間を分ける必要のない場合は SSP だけをお使いください。
スタック時のアドレスの上位 8 ビットは , SSP → SSB, USP → USB により示されます。
また USP および SSP は , リセットでは初期化されず , 不定値になります。
図 2.7-5 スタック操作命令とスタックポインタ (S フラグが "0" の場合の PUSHW A の例 )
MSB
実行前
AL
A624H
USB
C6H
USP
F328H
0
SSB
56H
SSP
1234H
A624H
USB
C6H
USP
F326H
SSB
56H
SSP
1234H
Sフラグ
実行後
AL
Sフラグ 0
C6F326H
LSB
XXH
XXH
Sフラグが"0"であるため
ユーザスタックを使用
C6F326H
A6H
24H
図 2.7-6 スタック操作命令とスタックポインタ (S フラグが "1" の場合の PUSHW A の例 )
実行前
AL
A624H
USB
C6H
USP
F328H
1
SSB
56H
SSP
1234H
A624H
USB
C6H
USP
F328H
SSB
56H
SSP
1232H
Sフラグ
実行後
AL
Sフラグ 1
561232H
XXH
XXH
561232H
A6H
24H
Sフラグが"1"であるため
システムスタックを使用
<注意事項>
スタックポインタに設定すべき値は , 原則として偶数アドレスを使用してください。
36
第 2 章 CPU
2.7.3
プロセッサステータス (PS)
PS レジスタは , CPU の動作制御を行うビットと CPU の状態を示すビットより構成
されています。
■ プロセッサステータス (PS)
図 2.7-7 に示すように , PS レジスタはレジスタバンクポインタ (RP) および割込みレベ
ルマスクレジスタ (ILM) により構成されています。RP はレジスタバンクの先頭アドレ
スを示します。PS レジスタの下位バイトは命令実行結果および割込み発生などにより
セット / リセットされる各種フラグより構成されているコンディションコードレジス
タ (CCR) より構成されています。
図 2.7-7 プロッセサステータス (PS) の構造
15
PS
初期値
13 12
8 7
0
IL M
RP
CCR
000 B
00000 B
-01XXXXX B
X:不定値
■ コンディションコードレジスタ (CCR)
コンディションコードレジスタ (CCR) のビット構成を図 2.7-8 に示します。
図 2.7-8 コンディションコードレジスタ (CCR) の構成
7
初期値→
−
−
6
I
0
5
S
1
3
T
X
4
N
X
2
Z
X
1
V
X
0
C
X
: CCR
X: 不定値
● 割込み許可フラグ (I)
ソフトウェアインタラプト以外のすべての割込みに対し I フラグが "1" の場合は割込み
が許可 , "0" の場合 , 割込みはマスクされます。リセット時はクリアされます。
● スタックフラグ (S)
S フラグが "0" の場合はスタック操作用ポインタとして USP が有効 , "1" の場合は SSP
が有効になります。割込み受付け時またはリセット時にセットされます。
● スティッキィビットフラグ (T)
論理右 / 算術右シフト命令を実行後にキャリよりシフトアウトされたデータに 1 つ以
上 "1" があったら "1", それ以外は "0" になります。シフト量がゼロの場合も "0" になり
ます。
● ネガティブフラグ (N)
演算結果の MSB が "1" なら N フラグはセット , それ以外はクリアされます。
● ゼロフラグ (Z)
演算結果がすべて "0" ならセット , それ以外はクリアされます。
37
第 2 章 CPU
● オーバフローフラグ (V)
演算の実行により符号付き数値としてオーバフローが生じるとセット,生じないとクリ
アされます。
● キャリフラグ (C)
演算の実行により , MSB より桁上り / 桁下りが生じるとセット , 生じないとクリアされ
ます。
■ レジスタバンクポインタ (RP)
レジスタバンクポインタ (RP) は , F2MC-16LX の持つ汎用レジスタとそれが存在する内
部 RAM のアドレスとの関係を示すレジスタで , 現在使用中のレジスタバンクの先頭の
メモリアドレスを [000180H+(RP) × 10H] という変換式で示します ( 図 2.7-9 参照 )。RP
レジスタは 5 ビットにより構成されており "00H" ∼ "1FH" までの値をとることができ ,
メモリ中の "000180H" ∼ "00037FH" のアドレスにレジスタバンクを配置できます。
ただし , この範囲内であっても内部 RAM でなければ汎用レジスタとして使用すること
はできません。RP レジスタはリセットによりすべて "0" に初期化されます。命令上で
は RP レジスタに 8 ビットの即値が転送できますが , 実際に使用されるのはそのデータ
の下位 5 ビットのみです。
レジスタバンクポインタ (RP) のビット構成を図 2.7-9 に示します。
図 2.7-9 レジスタバンクポインタ (RP)
初期値
38
B4
0
B3
0
B2
0
B1
0
B0
0
: RP
第 2 章 CPU
■ 割込みレベルマスクレジスタ (ILM)
割込みレベルマスクレジスタ (ILM) は 3 ビットから構成されており , CPU の割込みマ
スクのレベルを示します。この 3 ビットにより示されるレベルより強いレベルの割込
み要求のみが受け付けられます。レベルの強弱は "0" が最強で , "7" が最弱と定義され
ています ( 表 2.7-1 参照 )。したがって , 割込みが受け付けられるには , 現状の ILM の
保持値より小さい値の要求でなければなりません。割込みが受け付けられるとその割
込みのレベル値が ILM にセットされ , これ以降の同じかそれより低い優先順位の割込
みは受け付けられなくなります。ILM はリセットによりすべて "0" に初期化されます。
命令上では ILM レジスタに 8 ビットの即値が転送できますが , 実際に使用されるのは
そのデータの下位 3 ビットのみです。
割込みレベルマスクレジスタ (ILM) のビット構成を図 2.7-10 に示します。
図 2.7-10 割込みレベルマスクレジスタ
初期値
ILM2
0
ILM1
0
ILM0
0
: ILM
表 2.7-1 割込みレベルマスク (ILM) レジスタで示されるレベル
ILM2
ILM1
ILM0
レベル値
許可される割込みレベル
0
0
0
0
割込み禁止
0
0
1
1
"0" のみ
0
1
0
2
"1" より小さい値のレベル
0
1
1
3
"2" より小さい値のレベル
1
0
0
4
"3" より小さい値のレベル
1
0
1
5
"4" より小さい値のレベル
1
1
0
6
"5" より小さい値のレベル
1
1
1
7
"6" より小さい値のレベル
39
第 2 章 CPU
2.7.4
プログラムカウンタ (PC)
プログラムカウンタレジスタは , 16 ビットのカウンタであり , CPU が実行すべき命
令コードのメモリアドレスの下位 16 ビットを示します。上位 8 ビットアドレスは
PCB により示されます。PC レジスタは条件分岐命令 , サブルーチンコール命令 , 割
込み , リセットなどにより内容が更新されます。
また , オペランドアクセス時のベースポインタとして使用することもできます。
■ プログラムカウンタ (PC)
図 2.7-11 に , プログラムカウンタを示します。
図 2.7-11 プログラムカウンタ
PCB
FE H
PC
ABCDH
FEABCDH
40
次に実行する命令
第 2 章 CPU
2.8
レジスタバンク
レジスタバンクは 8 ワードで構成され , バイトレジスタ R0 ∼ R7, ワードレジスタ
RW0 ∼ RW7, ロングワードレジスタ RL0 ∼ RL3 の汎用レジスタとして各種演算 ,
ポインタとして各種命令に使用できます。
■ レジスタバンク
表 2.8-1 に , 各レジスタの機能を , 表 2.8-2 に各レジスタの関係を示します。
レジスタバンクの内容は , 通常の RAM 領域と同様にリセットでは初期化されず , リ
セット前の状態が保持されます。ただし , パワーオン時は , 不定値になります。
表 2.8-1 各レジスタの機能
R0 ∼ R7
各種命令のオペランドとして使用
( 注意事項 ) R0 はバレルシフトのカウンタまたはノーマライズ
命令のカウンタとしても使用
RW0 ∼ RW7
ポインタ , 各種命令のオペランドとして使用
( 注意事項 ) RW0 はストリング命令のカウンタとしても使用
RL0 ∼ RL3
ロングポインタ , 各種命令のオペランドとして使用
表 2.8-2 各レジスタの関係
RW0
RW1
RW2
RW3
R0
R1
R2
R3
R4
R5
R6
R7
RL0
RL1
RW4
RL2
RW5
RW6
RL3
RW7
41
第 2 章 CPU
● ダイレクトページレジスタ (DPR) < 初期値 :01H>
ダイレクトページレジスタ (DPR) は , 図 2.8-1 に示すように , ダイレクトアドレッシン
グモードの命令時のオペランドの addr8 ∼ addr15 を指定します。DPR は 8 ビット長で
あり , リセットにより "01H" に初期化されます。DPR は命令により読出しや書込みがで
きます。
図 2.8-1 ダイレクトアドレッシングモードによる物理アドレスの生成
DTBレジスタ
DPRレジスタ
αααααααα
ββββββββ
命令中のダイレクトアドレス
γγγγγγγγ
LSB
MSB
24ビット物理アドレス
ααααααββββββββγγγγγγγγ
● プログラムカウンタバンクレジスタ (PCB)
< 初期値 : リセットベクタ中の値 >
● データバンクレジスタ (DTB)
< 初期値 :00H>
● ユーザスタックバンクレジスタ (USB)
< 初期値 :00H>
● システムスタックバンクレジスタ (SSB)
< 初期値 :00H>
● アディショナルデータバンクレジスタ (ADB)
< 初期値 :00H>
各々のバンクレジスタはそれぞれ PC 空間 , DT 空間 , SP 空間 ( ユーザ ), SP 空間 ( シス
テム ), AD 空間の配置されるメモリバンクを示します。すべてのバンクレジスタはバ
イト長であり , リセットにより PCB はリセットベクタの値に初期化されます。PCB 以
外のバンクレジスタは読出し / 書込みができます。PCB は , 読出しは可能ですが書き込
むことはできません。
16M バイト全空間に分岐する JMPP, CALLP, RETP, RETI, RETF 命令実行時および割込
み時に PCB は書き換わります。各レジスタの動作は ,「2.2 メモリ空間」を参照してく
ださい。
42
第 2 章 CPU
2.9
プリフィックスコード
命令の前にプリフィックスコードを置くことで , 命令動作の一部を変更することが可
能です。プリフィックスコードには , バンクセレクトプリフィックス , コモンレジス
タバンクプリフィックス , フラグ変化抑止プリフィックスの 3 種類があります。
■ バンクセレクトプリフィックス
データアクセスの際に使用されるメモリ空間は各アドレッシングモードに定められて
います。バンクセレクトプリフィックスを命令前に置くことで , 命令によるデータアク
セスのメモリ空間をアドレッシングモードと無関係に任意に選択することが可能とな
ります。
表 2.9-1 に , バンクセレクトプリフィックスと対応するメモリ空間を示します。
表 2.9-1 バンクセレクトプリフィックス
バンクセレクトプリフィックス
選択される空間
PCB
PC 空間
DTB
データ空間
ADB
SPB
AD 空間
そのときのスタックフラグの内容により SSP 空間 , USP 空
間のどちらかが用いられます。
ただし , 以下に示す命令に対しては注意してください。
● ストリング命令〔MOVS/MOVSW/SCEQ/SCWEQ/FILS/FILSW〕
プリフィックスの有無にかかわらず,オペランド指定されたバンクレジスタを使用して
ください。
● スタック操作命令〔PUSHW/POPW〕
プリフィックスの有無にかかわらず , S フラグに応じて SSB または USB を使用してく
ださい。
● I/O アクセス命令〔MOV A,io/MOV io,A/MOVX A,io/MOVW A,io/MOVW io,
A/MOV io,#imm8/MOVW io,#imm16/MOVB A,io:bp/MOVB io:bp,
A/SETB io:bp/CLRB io:bp BBC io:bp,rel/BBS io:bp,rel/WBTC,WBTS〕
プリフィックスの有無にかかわらず , バンクの I/O 空間が使用されます。
● フラグ変更命令〔AND CCR,#imm8/OR CCR,#imm8〕
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
● POPW PS
プリフィックスの有無にかかわらず , S フラグに応じて SSB または USB が使用されま
す。プリフィックスの効果が次の命令まで及びます。
● MOV ILM, #imm8
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
● RETI
プリフィックス有無にかかわらず , SSB が使用されます。
43
第 2 章 CPU
■ コモンレジスタバンクプリフィックス (CMR)
複数のタスク間でのデータ交換を容易にするためには , その場合の RP がどのような値
でも , 比較的簡単に定められた同一のレジスタバンクをアクセスする手段が必要です。
コモンレジスタバンクプリフィックス (CMR) を , レジスタバンクをアクセスする命令
の前に置くことで , 現在の RP の値に関係なくその命令のレジスタアクセスをすべて
"000180H" ∼ "00018FH" にあるコモンバンク (RP=0 の場合に選択されるレジスタバンク )
に変更することができます。
コモンレジスタバンクプリフィックス (CMR) を使用する際には , 以下に示す命令に対
して注意してください。
● ストリング命令〔MOVS/MOVSW/SCEQ/SCWEQ/FILS/FILSW〕
プリフィックスコードを付加したストリング命令実行中に割込み要求が発生すると,割
込み復帰後のストリング命令に対しては,プリフィックスが無効であるため誤動作とな
ります。上記のストリング命令に対しては CMR プリフィックスを付加しないでくださ
い。
● フラグ変更命令〔AND CCR,#imm8/OR CCR,#imm8/POPW PS〕
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
● MOV ILM, #imm8
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
■ フラグ変化抑止プリフィックス (NCC)
フラグ変化を抑止するためには , フラグ変化抑止プリフィックスコード (NCC) を用い
ます。不要フラグ変化を抑止する命令の前に置くことで , 命令実行に伴うフラグ変化を
抑止可能です。
フラグ変化抑止プリフィックス (NCC) を使用する際には , 以下に示す命令に対して注
意してください。
● ストリング命令〔MOVS/MOVSW/SCEQ/SCWEQ/FILS/FILSW〕
プリフィックスコードを付加したストリング命令の実行中に割込み要求が発生すると
割込み復帰後のストリング命令に対してはプリフィックスが無効であるために誤動作
となります。上記のストリング命令には NCC プリフィックスを付加しないでください。
● フラグ変更命令〔AND CCR,#imm8/OR CCR,#imm8/POPW PS〕
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
● 割込み命令〔INT #vct8/INT9/INT addr16/INTP addr24/RETI〕
プリフィックスの有無にかかわらず CCR は命令の仕様どおり変化します。
● [email protected]
プリフィックスの有無にかかわらず CCR は命令の仕様どおり変化します。
● MOV ILM, imm8
命令動作は正常ですが , プリフィックスの効果が次の命令まで及びます。
44
第 2 章 CPU
2.10
割込み抑止命令
以下に示す 10 種類の命令については , 割込み要求はサンプリングされません。
• MOV
ILM, #imm8
• AND
CCR, #imm8
• OR
CCR, #imm8
• POPW PS
• PCB
• DTB
• ADB
• SPB
• CMR
• NCC
■ 割込み抑止命令
上記の命令実行中に有効なハードウェア割込み要求が発生しても,割込み処理が行われ
るのは , 上記以外の命令が実行されたときに限られます。詳しくは図 2.10-1 を参照し
てください。
図 2.10-1 割込み抑止命令
割込み抑止命令
(a ) 普通の命令
・・・・・・・・
(a )
割込み要求発生
・・・
割込み受付け
■ 割込み抑止命令とプリフィックス命令に関する制約
割込み抑止命令の前にプリフィックスコードを付加した場合,プリフィックスコードの
効果は , 割込み抑止命令以外のコード後の最初の〔命令〕まで及びます。
図 2.10-2 割込み抑止命令とプリフィックスコード
割込み抑止命令
MOV A,FF H
CCR:XXX10XX B
NCC
MOV ILM,#imm8
・・・・
ADD A,01H
CCR:XXX10XX B
NCCにより, CCR は変化しません
45
第 2 章 CPU
■ プリフィックスコードが連続している場合
競合するプリフィックスコードが連続していた場合 , 後方のものが有効になります。
なお , 競合するプリフィックスコードとはここでいう PCB, ADB, DTB, SPB のことを意
味します。
図 2.10-3 プリフィックスコードの連続
プリフィックスコード
・・・・・
ADB
DTB
PCB
ADD A, 01H
・・・・
↑プリフィックスコードは
PCBが有効になります。
46
第 2 章 CPU
2.11
「DIV A,Ri」,「DIVW A,RWi」命令の使用上の注意
「DIV A,Ri」,「DIVW A,RWi」命令を使用する場合は , バンクレジスタを "00H" に設
定してください。
■「DIV A,Ri」,「DIVW A,RWi」命令の使用上の注意
表 2.11-1 「DIV A,Ri」,「DIVW A,RWi」命令の使用上の注意 (i=1 ∼ 7)
命令
左記命令実行時に影響を
受けるバンクレジスタ名
余りが格納されるアドレス
DIV A,R0
(DTB: 上位 8 ビット )+(0180H+RP × 10H+8H: 下位 16 ビット )
DIV A,R1
(DTB: 上位 8 ビット )+(0180H+RP × 10H+9H: 下位 16 ビット )
DIV A,R4
(DTB: 上位 8 ビット )+(0180H+RP × 10H+CH: 下位 16 ビット )
DIV A,R5
DTB
(DTB: 上位 8 ビット )+(0180H+RP × 10H+DH: 下位 16 ビット )
DIVW A,RW0
(DTB: 上位 8 ビット )+(0180H+RP × 10H+0H: 下位 16 ビット )
DIVW A,RW1
(DTB: 上位 8 ビット )+(0180H+RP × 10H+2H: 下位 16 ビット )
DIVW A,RW4
(DTB: 上位 8 ビット )+(0180H+RP × 10H+8H: 下位 16 ビット )
DIVW A,RW5
(DTB: 上位 8 ビット )+(0180H+RP × 10H+AH: 下位 16 ビット )
DIV A,R2
(ADB: 上位 8 ビット )+(0180H+RP × 10H+AH: 下位 16 ビット )
DIV A,R6
ADB
(ADB: 上位 8 ビット )+(0180H+RP × 10H+EH: 下位 16 ビット )
DIVW A,RW2
(ADB: 上位 8 ビット )+(0180H+RP × 10H+4H: 下位 16 ビット )
DIVW A,RW6
(ADB: 上位 8 ビット )+(0180H+RP × 10H+EH: 下位 16 ビット )
DIV A,R3
(USB*2: 上位 8 ビット )+(0180H+RP × 10H+BH: 下位 16 ビット )
DIV A,R7
USB
SSB*1
DIVW A,RW3
(USB*2: 上位 8 ビット )+(0180H+RP × 10H+FH: 下位 16 ビット )
(USB*2: 上位 8 ビット )+(0180H+RP × 10H+6H: 下位 16 ビット )
(USB*2: 上位 8 ビット )+(0180H+RP × 10H+EH: 下位 16 ビット )
DIVW A,RW7
*1:CCR レジスタの S ビットによる
*2:CCR レジスタの S ビットが "0" の場合
バンクレジスタ (DTB, ADB, USB, SSB) の値が "00H" の場合は , 除算結果の余りが命令
オペランドのレジスタに格納されます。バンクレジスタの値が "00H" 以外の場合は , 上
位 8 ビットアドレスは命令オペランドのレジスタに対応したバンクレジスタにより指
定され , 下位 16 ビットアドレスは命令オペランドのレジスタのアドレスと同じアドレ
スとなり , 上位 8 ビットで指定されたバンクのレジスタに余りが格納されます。
【例】
DTB=053H, RP=03H の 場 合 に「DIV A,R0」を 実 行 し た 場 合 は , R0 の ア ド レ ス が
0180H+RP(03H) × 10H+08H(R0 相当アドレス )=001B8H となります。
ここで ,「DIV A,R0」で指定されるバンクレジスタはデータバンクレジスタ (DTB) で
すので ,バンクアドレス"053H"を付加したアドレス "05301B8H"に余りが格納されます。
47
第 2 章 CPU
<参考>
バンクレジスタおよび Ri, RWi のレジスタについては ,「 2.7 レジスタ」を参照してくだ
さい。
■ 注意事項の回避について
「DIV A,Ri」,「DIVW A,RWi」命令の使用上の注意事項を回避してプログラムを開発し
ていただくために , コンパイラでは表 2.11-1 の命令を生成しないように変更し , アセン
ブラでは表 2.11-1 の命令を同等の命令列に置き換える機能を追加したものが用意され
ています。MB90540/545 シリーズのコンパイラおよびアセンブラは , 以下のものを使
用してください。
• コンパイラ
cc907 の V02L06 以降のバージョンおよび fcc907s の V30L02 以降のバージョン
• アセンブラ
asm907a の V03L04 以降のバージョンおよび fasm907s の V30L04 (Rev.300004) 以降
のバージョン
48
第3章
割込み
割込みの機能と動作について説明します。
3.1 割込みの概要
3.2 割込み要因
3.3 割込みベクタ
3.4 ハードウェア割込み
3.5 ソフトウェア割込み
3.6 拡張インテリジェント I/O サービス (EI2OS)
3.7 未定義命令の実行による例外発生
49
第 3 章 割込み
3.1
割込みの概要
F2MC-16LX はイベントなどの発生により , 現在実行中の処理を中断して , 別に定義
したプログラムへ制御を移す割込み機能があります。
■ 割込みの概要
割込み機能は以下の 4 つに分けることができます。
• ハードウェア割込み : 内蔵リソースのイベント発生による割込み処理
• ソフトウェア割込み : ソフトウェアのイベント発生命令による割込み処理
• 拡張インテリジェント I/O サービス (EI2OS):
内蔵リソースのイベント発生による転送処理
• 例外
: 動作例外事項の発生による終了処理
この章では , これら 4 種類の割込みについて説明します。
50
第 3 章 割込み
3.2
割込み要因
表 3.2-1 に , MB90540/545 シリーズでの割込み要因と割込みベクタ・割込み制御レ
ジスタを示します。
■ 割込み要因
表 3.2-1 割込み要因と割込みベクタ・割込み制御レジスタ
割込み要因
リセット
INT9 命令
割込みベクタ
割込み制御レジスタ
EI2OS
クリア
番号
アドレス
×
アドレス
FFFFDCH
番号
# 08
-
-
×
# 09
FFFFD8H
-
-
例外
CAN 0 RX
×
# 10
FFFFD4H
-
-
×
# 11
FFFFD0H
CAN 0 TX/NS
×
# 12
FFFFCCH
ICR00
0000B0H
CAN 1 RX
×
# 13
FFFFC8H
CAN 1 TX/NS
×
# 14
FFFFC4H
ICR01
0000B1H
外部割込み INT0/INT1
○
# 15
FFFFC0H
×
# 16
FFFFBCH
ICR02
0000B2H
○
# 17
FFFFB8H
A/D コンバータ
○
# 18
FFFFB4H
ICR03
0000B3H
入出力タイマ
外部割込み INT2/INT3
×
# 19
FFFFB0H
○
# 20
FFFFACH
ICR04
0000B4H
シリアル I/O
○
# 21
FFFFA8H
PPG(ch0, ch1) ユニット 0
×
# 22
FFFFA4H
ICR05
0000B5H
インプットキャプチャ 0
○
# 23
FFFFA0H
外部割込み INT4/INT5
○
# 24
FFFF9CH
ICR06
0000B6H
インプットキャプチャ 1
○
# 25
FFFF98H
PPG (ch2, ch3) ユニット 1
×
# 26
FFFF94H
ICR07
0000B7H
外部割込み INT6/INT7
○
# 27
FFFF90H
×
# 28
FFFF8CH
ICR08
0000B8H
×
# 29
FFFF88H
インプットキャプチャ 2/3
○
# 30
FFFF84H
ICR09
0000B9H
PPG (ch6, ch7) ユニット 3
×
# 31
FFFF80H
アウトプットコンペア 0
○
# 32
FFFF7CH
ICR10
0000BAH
アウトプットコンペア 1
○
# 33
FFFF78H
インプットキャプチャ 4/5
○
# 34
FFFF74H
ICR11
0000BBH
アウトプットコンペア 2/3 インプットキャプチャ 6/7
○
# 35
FFFF70H
16 ビットリロードタイマ 1
UART 0 RX
○
# 36
FFFF6CH
ICR12
0000BCH
◎
# 37
FFFF68H
UART 0 TX
○
# 38
FFFF64H
ICR13
0000BDH
UART 1 RX
ICR14
0000BEH
ICR15
0000BFH
タイムベースタイマ
16 ビットリロードタイマ 0
監視タイマ
PPG (ch4, ch5) ユニット 2
◎
# 39
FFFF60H
UART 1 TX
○
# 40
FFFF5CH
フラッシュメモリ
×
# 41
FFFF58H
×
# 42
FFFF54H
遅延割込み
◎ :EI2OS 割込みクリア信号にて割込み要求フラグはクリアされます。ストップ要求あり。
○ :EI2OS 割込みクリア信号にて割込み要求フラグはクリアされます。
× :EI2OS 割込みクリア信号にて割込み要求フラグはクリアされません。
51
第 3 章 割込み
<注意事項>
同一割込み番号に2つの割込み要因がある周辺モジュールは,両方の割込み要求フラグがEI2OS
割込みクリア信号でクリアされます。
EI2OSの終了時には,同一の割込み番号に割り当てられたすべての割込みフラグに対して, EI2OS
クリア信号が発行されます。
1 つの割込みフラグが EI2OS を開始し , その間にハードウェアイベ
ントによって別の割込みフラグが設定された場合 , 最初のイベントによって発行された EI2OS
クリア信号によってフラグがクリアされるので , 後から発生したイベントは失われます。した
がって , この割込み番号には EI2OS は使用しないでください。
EI2OS が有効な場合 , 同一の割込み制御レジスタ (ICR) にある 2 つの割込み信号のうち 1 つが発
行されると EI2OS が起動されます。各割込みソースには独自の EI2OS ディスクリプタが用意さ
し
れるべきですが , 実際には異なる割込みソースが同一の EI2OS ディスクリプタを共用します。
2
たがって , 1 つの割込みソースが EI OS を使用している間は , ほかの割込みを無効にしておく必
要があります。
52
第 3 章 割込み
割込みベクタ
3.3
表 3.3-1 に , MB90540/545 シリーズでの割込みベクタ一覧表を示します。
■ 割込みベクタ
表 3.3-1 割込みベクタ一覧表 (1 / 2)
ソフトウェア
割込み命令
ベクタ
アドレス L
ベクタ
アドレス M
ベクタ
アドレス H
モード
レジスタ
割込み
No
INT 0
FFFFFCH
FFFFFDH
FFFFFEH
未使用
#0
:
:
:
:
:
:
INT 7
FFFFE0H
FFFFE1H
FFFFE2H
未使用
#7
なし
INT 8
FFFFDCH
FFFFDDH
FFFFDEH
FFFFDFH
#8
(RESET ベクタ )
INT 9
FFFFD8H
FFFFD9H
FFFFDAH
未使用
#9
ROM 訂正
INT 10
FFFFD4H
FFFFD5H
FFFFD6H
未使用
#10
< 例外 >
INT 11
FFFFD0H
FFFFD1H
FFFFD2H
未使用
#11
CAN 0 RX
INT 12
FFFFCCH
FFFFCDH
FFFFCEH
未使用
#12
CAN 0 TX/NS
INT 13
FFFFC8H
FFFFC9H
FFFFCAH
未使用
#13
CAN 1 RX
INT 14
FFFFC4H
FFFFC5H
FFFFC6H
未使用
#14
CAN 1 TX/NS
INT 15
FFFFC0H
FFFFC1H
FFFFC2H
未使用
#15
外部割込み INT0/INT1
INT 16
FFFFBCH
FFFFBDH
FFFFBEH
未使用
#16
タイムベースタイマ
INT 17
FFFFB8H
FFFFB9H
FFFFBAH
未使用
#17
16 ビットリロードタイマ 0
INT 18
FFFFB4H
FFFFB5H
FFFFB6H
未使用
#18
A/D コンバータ
INT 19
FFFFB0H
FFFFB1H
FFFFB2H
未使用
#19
入出力タイマ
INT 20
FFFFACH
FFFFADH
FFFFAEH
未使用
#20
外部割込み INT2/INT3
INT 21
FFFFA8H
FFFFA9H
FFFFAAH
未使用
#21
シリアル I/O
INT 22
FFFFA4H
FFFFA5H
FFFFA6H
未使用
#22
PPG(ch0, ch1) ユニット 0
INT 23
FFFFA0H
FFFFA1H
FFFFA2H
未使用
#23
インプットキャプチャ 0
INT 24
FFFF9CH
FFFF9DH
FFFF9EH
未使用
#24
外部割込み INT4/INT5
INT 25
FFFF98H
FFFF99H
FFFF9AH
未使用
#25
インプットキャプチャ 1
INT 26
FFFF94H
FFFF95H
FFFF96H
未使用
#26
PPG(ch 2, ch3) ユニット 1
INT 27
FFFF90H
FFFF91H
FFFF92H
未使用
#27
外部割込み INT6/INT7
INT 28
FFFF8CH
FFFF8DH
FFFF8EH
未使用
#28
監視タイマ
INT 29
FFFF88H
FFFF89H
FFFF8AH
未使用
#29
PPG(ch4, ch5) ユニット 2
INT 30
FFFF84H
FFFF85H
FFFF86H
未使用
#30
インプットキャプチャ 2/3
INT 31
FFFF80H
FFFF81H
FFFF82H
未使用
#31
PPG(ch6, ch7) ユニット 3
INT 32
FFFF7CH
FFFF7DH
FFFF7EH
未使用
#32
アウトプットコンペア 0
INT 33
FFFF78H
FFFF79H
FFFF7AH
未使用
#33
アウトプットコンペア 1
INT 34
FFFF74H
FFFF75H
FFFF76H
未使用
#34
インプットキャプチャ 4/5
INT 35
FFFF70H
FFFF71H
FFFF72H
未使用
#35
アウトプットコンペア 2/3
インプットキャプチャ 6/7
INT 36
FFFF6CH
FFFF6DH
FFFF6EH
未使用
#36
16 ビットリロードタイマ 1
INT 37
FFFF68H
FFFF69H
FFFF6AH
未使用
#37
UART 0 RX
ハードウェア割込み
なし
:
53
第 3 章 割込み
表 3.3-1 割込みベクタ一覧表 (2 / 2)
ソフトウェア
割込み命令
ベクタ
アドレス L
ベクタ
アドレス M
ベクタ
アドレス H
モード
レジスタ
割込み
No
INT 38
FFFF64H
FFFF65H
FFFF66H
未使用
#38
UART 0 TX
INT 39
FFFF60H
FFFF61H
FFFF62H
未使用
#39
UART 1 RX
INT 40
FFFF5CH
FFFF5DH
FFFF5EH
未使用
#40
UART 1 TX
INT 41
FFFF58H
FFFF59H
FFFF5AH
未使用
#41
フラッシュメモリ
INT 42
FFFF54H
FFFF55H
FFFF56H
未使用
#42
遅延割込み
INT 43
FFFF50H
FFFF51H
FFFF52H
未使用
#43
なし
54
ハードウェア割込み
:
:
:
:
:
:
INT254
FFFC04H
FFFC05H
FFFC06H
:
未使用
#254
なし
INT255
FFFC00H
FFFC01H
FFFC02H
未使用
#255
なし
第 3 章 割込み
3.4
ハードウェア割込み
ハードウェア割込みは , 周辺機能からの割込み要求信号に対応して , CPU がそれま
で実行していたプログラムの実行を一時中断し , ユーザの定義した割込み処理用プロ
グラムへ制御を移行する機能です。
■ ハードウェア割込みの概要
ハードウェア割込みの起動は , 割込み要求がもつ割込みレベルと , CPU の PS がもつ割
込みレベルマスクレジスタ (ILM) の比較および PS 内の I フラグの内容をハードウェア
で参照したのち , 発生条件に合致すれば発生します。
ハードウェア割込みが発生するときに CPU が行う処理は以下のものがあります。
• CPU 内部の PC, PS, AH, AL, PCB, DTB, ADB, DPR レジスタのシステムスタックへの
退避
• PS レジスタ内の ILM を設定。現在要求している割込みレベルと自動的に同じになる
• 対応する割込みベクタの値を取り込み , その値が指示する処理へ分岐
■ ハードウェア割込みの構造
ハードウェア割込みに関連する構造は , 以下の 3 つの部分に分かれて存在します。
● 周辺機能
割込み許可ビット , 割込み要求ビット : リソースからの割込み要求の制御
● 割込みコントローラ
ICR: 割込みのレベル付け , 同時要求割込みの優先度判定
● CPU
I, ILM: 要求割込みレベルと現レベルの比較 , 割込み許可状態の識別
マイクロコード : 割込み処理用ステップ
上記 3 つの区分の状態は , 周辺機能ではリソース制御レジスタに , 割込みコントローラ
では ICR に , CPU では CCR の値によって指示されます。ハードウェア割込みを使用す
る場合には , あらかじめソフトウェアでこの 3 つの区分を事前に設定します。
割込み処理の際に参照する割込みベクタのテーブルはメモリ領域の "FFFC00H" ∼
"FFFFFFH" に割り当ててあり , ソフトウェア割込みと共通で使用しています。
■ 入出力領域への書込み中のハードウェア割込み要求
入出力領域への書込み中はハードウェア割込み要求を受け付けません。これは各リソー
スの割込み制御レジスタ関係の書換えを行っている最中の割込み要求に対して, CPUが
割込み関係で誤動作を起こすことを避けるためです。
55
第 3 章 割込み
■ 多重割込み
F2MC-16LX CPU は多重割込みをサポートしています。そのため , 割込み処理の実行中
にその割込みのもつ割込みレベルより高いレベルの割込みが発生すると,現在実行中の
命令を終了した後で , 制御は高いレベルの割込みへ転送されます。高いレベルでの割込
みが終了すると , 元の割込み処理に戻ります。割込み処理実行中に , その割込みと同等
かより低いレベルの割込み処理が発生した場合は , ILM の内容や I フラグの命令によっ
て変更しないかぎり , 現在の割込み処理の終了まで , 新しい割込み要求は保留になりま
す。なお , 拡張インテリジェント I/O サービスは多重に起動されることはなく , 1 つの
拡張インテリジェント I/O サービスの処理中は , ほかの割込み要求および拡張インテリ
ジェント I/O サービス要求はすべて保留になります。
■ スタック内へのレジスタの退避
図 3.4-1 に , スタック内に退避されたレジスタの順序を示します。
図 3.4-1 スタック内に退避されたレジスタ
ワード (16ビット)
MSB
LSB
"H"
↑
←
SSP
(割込み発生前のSSPの値)
←
SSP
(割込み発生後のSSPの値)
AH
AL
DPR
ADB
DTB
PCB
PC
↓
"L"
56
PS
第 3 章 割込み
ハードウェア割込みの動作
3.4.1
ハードウェア割込み要求の機能を備えた内部リソースには , 割込み要求フラグと割込
み許可フラグが存在します。割込み要求フラグは , 割込み要求の有無を指示します。
割込み許可フラグは , 該当する内部リソースによる CPU への割込み要求の有無を指
示します。割込み要求フラグがセットされるのは , 内部リソースに特有のイベントが
発生する場合です。割込み許可フラグが " 許可 " を指示すると , リソースは割込みコ
ントローラへ割込み要求を発生します。
■ ハードウェア割込みの動作
同時に複数の割込み要求を受け取った場合 , 割込みコントローラは , 各割込み要求に対
する ICR 内の割込みレベル (IL) どうしを比較し , もっとも高いレベルの要求 (IL 値の
最も小さいもの ) を採択して CPU へ通知します。同一レベルの要求が複数あった場合
には , 割込み番号が少ないものを優先します。各割込み要求と各 ICR の関係はハード
ウェアで決まっています。
CPU は受け取った割込みレベル (IL) と PS レジスタ内の ILM とを比較し , 割込みレベ
ル (IL) < (ILM) であり , PS レジスタ内の I ビットが "1" に設定されている場合に , 現在
実行中の命令が終了した後で , 割込み処理用マイクロコードを起動します。割込み処理
マイクロコードの先頭で割込みコントローラの ICR 中の ISE ビットを参照し , ISE ビッ
トが "0"( すなわち割込み ) であることを確認して割込み処理の本体を起動します。
割込み処理の本体では SSB と SSP の示すメモリ中へ PS と PC, PCB, DTB, ADB, DPR, A
の 12 バイトを退避した後 , 割込みベクタの中から , 3 バイトを取り出して PC と PCB へ
ロードします。PS 中の ILM を , 受け付けた割込み要求のレベル値に更新 , S フラグを
"1" に設定して分岐処理を行います。その結果 , 次に実行する命令はユーザの定義した
割込み処理プログラムになります。
ハードウェア割込みが発生してから,割込み処理プログラム内に割込み要求がなくなる
までの処理の流れを図 3.4-2 に示します。
図 3.4-2 ハードウェア割込みの発生と解除まで
PS
レジスタファイル
マイクロコード
IR
⑥
F2MC-16LX CPU
周辺
②
割込 みレベル
AND
①
レベル比較 器
許可FF
要因FF
チェック
⑤
比較器
④
PS : プロセッサステータス
I
: CCR内の割込み許可フラグ
ILM : PS内の割込みレベル
マスクレジスタ
IR : インストラクションレジスタ
③
周辺
⑦
ILM
I
IL
割込み
コントローラ
57
第 3 章 割込み
図 3.4-2 の図中における , ①∼⑦の内容を以下に説明します。
① 周辺の内部で割込み要因が発生します。
② 周辺内の割込み許可ビットを参照し割込み許可になっていれば , 周辺から割込み
コントローラへ割込み要求を発生します。
③ 割込み要求を受け取った割込みコントローラは , 同時に要求のあった割込みの優
先順位を判定した上で該当する割込みに対応する割込みレベルを CPU へ転送し
ます。
④ CPU は割込みコントローラから要求のあった割込みレベルをプロセッサステー
タスレジスタ内の ILM ビットと比較します。
⑤ 比較の結果が現在の割込み処理レベルより優先順位が高い場合のみ , 同じプロ
セッサステータスレジスタ内の I フラグの内容をチェックします。
⑥ ⑤のチェックの結果 I フラグが割込み許可状態である場合のみ , ILM ビットの内
容を要求されたレベルに設定し , 現在実行中の命令の実行が終了し次第割込み処
理を行い , 制御を割込み処理ルーチンへ移します。
⑦ ユーザの割込み処理ルーチン内のソフトウェアで①で発生した割込み要因をク
リアすることで割込み要求が終了します。
⑥および⑦で , CPU が行う割込み処理の実行時間を以下に示します。
割込み起動 :24+6 ×表 3.4-1 マシンサイクル
割込み復帰 :15+6 ×表 3.4-1 マシンサイクル (RETI 命令 )
表 3.4-1 割込み処理時のサイクル数の補正値
58
スタックポインタが示しているアドレス
サイクル数の補正値
外部領域 8 ビットデータバスの場合
+4
外部領域 偶数アドレスの場合
+1
外部領域 奇数アドレスの場合
+4
内部領域 偶数アドレスの場合
0
内部領域 奇数アドレスの場合
+2
第 3 章 割込み
3.4.2
ハードウェア割込みの動作フロー
図 3.4-3 に , ハードウェア割込みの動作フローを示します。
■ ハードウェア割込みの動作フロー
図 3.4-3 ハードウェア割込み動作フロー
I
ILM
IF
IE
ISE
IL
S
I&IF&IE=1
AND
ILM > IL
:
:
:
:
:
:
:
CCR内の割込み許可フラグ
PS内の割込みレベルマスクレジスタ
内蔵リソースの割込み要求
内蔵リソースの割込みイネーブルフラグ
EI2OSイネーブルフラグ
内蔵リソースの割込み要求レベル
CCR内のフラグ
YES
NO
NO
次の命令の取込みと
デコード
PS,PC,PCB,DTB,ADB,DPR,
AをSSPのスタックへ退避
その後,ILM=IL
INT命令
NO
通常命令実行
NO
ストリング系
命令の繰り返し
完了
YES
YES
ISE = 1
拡張インテリジェント
I/ O サービスの処理
YES
PS,PC,PCB,DTB,ADB,DPR,
AをSSPのスタックへ退避
その後,I=0,ILM=IL
S ← 1
割込みベクトル取込み
PCの更新
59
第 3 章 割込み
割込み処理の開始に要する時間
3.4.3
ハードウェア割込み要求が発生して割込み処理が実行されるまでの間には , 現在実
行中の命令が終了するまでの時間と割込みハンドリング時間が必要です。
■ 割込み処理の開始に要する時間
割込み要求が発生してから割込みが受け付けられて , 割込み処理が実行されるまでの
間には , 割込み要求サンプリング待ち時間と割込みハンドリング時間 (割込み処理準備
に要する時間 ) が必要です。割込み処理時間を図 3.4-4 に示します。
図 3.4-4 割込み処理時間
CPUの動作
割込み待ち時間
通常命令実行
割込みハンドリング
割込み要求
サンプリング待ち時間
割込みハンドリング時間
(θマシンサイクル)*
割込み処理
割込み要求発生
:命令最終サイクル,ここで割込み要求をサンプルする。
* :1マシンサイクルは,マシンクロック(φ)の1クロック周期に相当します。
● 割込み要求サンプリング待ち時間
割込み要求が発生してから現在実行中の命令が終了するまでの時間です。
割込み要求の発生の有無は , 各命令の最後のサイクルで割込み要求をサンプリングし
て判断されます。各命令の実行中は CPU は割込み要求を認識することができず , 待ち
時間が発生します。
<参考>
割込み要求サンプリング待ち時間は , 最も実行サイクルの長い POPW RW0, …RW7 命令
(45 サイクル ) 開始直後に割込み要求が発生した場合 , 最大となります。
● 割込みハンドリング時間 (θ マシンサイクル )
CPU は , 割込み要求を受け付けてから , 専用レジスタのシステムスタックへの退避 , お
よび割込みベクタテーブルアドレスの取込みなどを行うため , θ マシンサイクルの割
込みハンドリング時間を必要とします。割込みハンドリング時間 (θ) は , 以下の式に
よって求められます。
θ=24+6 × Z マシンサイクル (Z: 割込みハンドリング時間の補正値 )
割込みハンドリング時間は , スタックポインタに設定されているアドレスによって異
なります。割込みハンドリング時間の補正値 (Z) を表 3.4-2 に示します。
60
第 3 章 割込み
表 3.4-2 割込みハンドリング時間の補正値 (Z)
スタックポインタで設定されているアドレス
補正値 (Z)
外部 8 ビットの場合
+4
外部 偶数アドレスの場合
+1
外部 奇数アドレスの場合
+4
内部 偶数アドレスの場合
0
内部 奇数アドレスの場合
+2
<参考>
1 マシンサイクルは , マシンクロック (Φ) の 1 クロック周期に相当します。
61
第 3 章 割込み
3.5
ソフトウェア割込み
ソフトウェア割込みは , 専用の命令の実行に対応して , CPU がそれまで実行してい
たプログラムの実行から , ユーザの定義した割込み処理用プログラムへ制御を移行す
る機能です。
■ ソフトウェア割込みの概要
ソフトウェア割込みの起動は , ソフトウェア割込み命令の実行で常に発生します。ソフ
トウェア割込みが発生するときに CPU が行う処理は , 以下のものがあります。
• CPU 内部の PC, PS, AH, AL, PCB, DTB, ADB, DPR レジスタの値をシステムスタック
へ退避させます。
• PS : I フラグを "0" に設定します。割込みは , 自動的に禁止されます。
• 対応する割込みベクタの値を取り出し , 次に値が指示する処理へ分岐します。
INT 命令から出されたソフトウェア割込み要求には , 割込み要求フラグや許可フラグは
存在しません。ソフトウェア割込み要求が出されるのは , 必ず INT 命令の実行により
ます。
INT 命令には割込みレベルが存在しません。したがって , INT 命令は , ILM を更新しま
せん。INT 命令は , I フラグをクリアして後続の割込み要求を保留にします。
■ ソフトウェア割込みの構造
ソフトウェア割込みは , すべて CPU の内部で取り扱われます。
● CPU
• マイクロコード : 割込み処理用ステップ
表 3.3-1 に示すように , ソフトウェア割込みは , ハードウェア割込みと同じ割込みベク
タ領域を共用します。例えば , 割込み要求番号の INT 15 は , ハードウェア割込みの外
部割込み #0 に使用されると同時に , ソフトウェア割込みの INT #15 に使用されます。
したがって , 外部割込み #0 と INT #15 は , 同じ割込み処理ルーチンを呼び出します。
62
第 3 章 割込み
■ ソフトウェア割込みの動作
CPU がソフトウェア割込み命令を取り込み実行すると , ソフトウェア割込み処理用マ
イクロコードを起動します。ソフトウェア割込み処理用マイクロコードは SSB と SSP
が指示するメモリ領域に 12 バイト (PS と PC, PCB, DTB, ADB, DPR, A) を退避させま
す。次に , マイクロコードは割込みベクタの中から , 3 バイトを取り出して PC と PCB
へ格納します。I フラグをリセット (0) して , S フラグをセット (1) します。その結果 ,
ユーザアプリケーションプログラムが定義した割込み処理プログラムを次に実行しま
す。
ソフトウェア割込みが発生してから,割込み処理プログラム内に割込み要求がなくなる
までの処理の流れを図 3.5-1 に示します。
図 3.5-1 ソフトウェア割込みの発生と解除まで
レジスタファイル
②
マイクロコード
①
IR
F2MC-16LX CPU
PS
I
S
Bユニット
キュー
退避
フェッチ
③
命令系バス
RAM
PS : プロセッサステータス
I
: CCR内の割込み許可フラグ
ILM : PS内の割込みレベル
マスクレジスタ
IR : インストラクションレジスタ
Bユニット:バス インタフェースユニット
図 3.5-1 の図中における , ①∼③のソフトウェア割込みの発生と解除までの流れを以下
に示します。
① ソフトウェア割込み命令を実行します。
② ソフトウェア割込み命令に対応したマイクロコードに従ってレジスタファイル
中の CPU 内専用レジスタが退避されます。
③ ユーザの割込み処理ルーチン内の RETI 命令で割込み処理が終了します。
■ ソフトウェア割込みに関する注意事項
プログラムカウンタバンクレジスタ (PCB) が "FFH" の場合 , CALLV 命令のベクタ領域
は INT #vct8 命令のテーブルと重複します。ソフトウェアを設計する際は , 必ず CALLV
命令が INT #vct8 命令と同じアドレスを使用しないように注意してください。
63
第 3 章 割込み
3.6
拡張インテリジェント I/O サービス (EI2OS)
拡張インテリジェント I/O サービス (EI2OS) とは , ハードウェア割込み動作の一種で , I/O
とメモリとの間でデータを自動的に転送します。従来は , 割込み処理プログラムにより ,
I/O とメモリの間でデータを転送していましたが , EI2OS では , DMA モードのようなデー
タの転送が可能になります。
■ 拡張インテリジェント I/O サービス (EI2OS) の概要
拡張インテリジェント I/O サービス (EI2OS) は , 従来の割込み処理で行っていた方式と
比べると以下に示すような利点があります。
• 転送プログラムの作成が不要となるため , プログラム全体のサイズを小さくするこ
とができます。
• 転送の際に内部レジスタを使用しないので , レジスタの退避が不要になり転送速度
が速くなります。
• I/O によりいつでも転送を停止することができ , 不要なデータを転送しません。
• バッファアドレスのインクリメント , デクリメントまたは未更新が選択できます。
• I/O レジスタアドレスのインクリメント , デクリメントまたは未更新が選択できます
( バッファアドレスを更新する場合 )。
EI2OS 処理の終了時には , 終了条件を設定した後に , CPU が自動的に割込み処理ルーチ
ンへ分岐します。したがって , ユーザは終了条件の種類を判別することができます。
<注意事項>
REALOSを使用する場合は,拡張インテリジェントI/Oサービス(EI2OS)が使用できません。
EI2OS の概要を図 3.6-1 に示します。
64
第 3 章 割込み
図 3.6-1 拡張インテリジェント I/O サービスの概要
メモリ空間
by IOA
I/Oレジスタ ……………
I/Oレジスタ
周辺
⑤
割込み要求 ①
CPU
③
ISD
③
by ICS
②
割込み制御レジスタ
割込みコントローラ
by BAP
④
バッファ
by DCT
(注意事項)
・IOAで指定できる領域は, "000000H"~"00FFFFH"です。
・BAPで指定できる領域は, "000000H"~"FFFFFFH"です。
・DTCで指定できる最大転送数は, 65536個です。
図 3.6-1 中の①∼⑤の説明を以下に示します。
① I/O が転送を要求します。
② 割込みコントローラがディスクリプタを選択します。
③ 転送元 / 転送先をディスクリプタから読み出します。
④ I/O とメモリ間で転送が行われます。
⑤ 割込み要因は自動的にクリアされます。
■ 拡張インテリジェント I/O サービス (EI2OS) の構造
EI2OS に関連する機構は , 以下の 4 つの部分に分かれて存在します。
● 内蔵リソース
割込み許可ビット , 割込み要求ビット : リソースからの割込み要求の制御
● 割込みコントローラ
ICR: 割込みのレベル付け , 同時要求割込みの優先度判定 , EI2OS 動作の選択
● CPU
• I, ILM: 要求割込みレベルと現レベルの比較 , 割込み許可状態の識別
• マイクロコード :EI2OS 処理用ステップ
● RAM
ディスクリプタ :EI2OS の転送情報を記述する
65
第 3 章 割込み
割込み制御レジスタ (ICR)
3.6.1
割込み制御レジスタは割込みコントローラ内にあり , 割込み機能を持つすべての I/O
に対応して存在します。このレジスタには以下に示す 3 つの機能があります。
• 対応する周辺の割込みレベルの設定
• 対応する周辺の割込みを通常割込みにするか , 拡張インテリジェント I/O サービス
にするかの選択
• 拡張インテリジェント I/O サービスのチャネルの選択
このレジスタに対するリードモディファイライト系の命令でのアクセスは , 誤動作を
引き起こしますので行わないでください。
■ 割込み制御レジスタ (ICR)
割込み制御レジスタ (ICR) のビット構成を図 3.6-2 に示します。
図 3.6-2 割込み制御レジスタ (ICR)
15/7
14/6
13/5
12/4
11/3
10/2
9/1
8/0
←ビット No.
ICS3
ICS2
ICS1
ICS0
ISE
IL2
IL1
IL0
書込み時
リード / ライト→
(W)
(W)
(W)
(W)
(W)
(W)
(W)
(W)
初期値→
(0)
(0)
(0)
(0)
(0)
(1)
(1)
(1)
15/7
14/6
13/5
12/4
11/3
10/2
9/1
8/0
←ビット No.
─
─
S1
S0
ISE
IL2
IL1
IL0
読出し時
リード / ライト→
(-)
(-)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(-)
(-)
(0)
(0)
(0)
(1)
(1)
(1)
アドレス:
0000B0H ∼ 0000BFH
アドレス:
0000B0H ∼ 0000BFH
<注意事項>
ICS3 ∼ ICS0 は , EI2OS を起動する場合のみ有効となります。EI2OS を起動する場合は
ISE を "1" に設定し , 起動しない場合は "0" に設定してください。EI2OS を起動しない場
合 , ICS3 ∼ ICS0 は何を設定してもかまいません。
ICS3 と ICS2 には , 常に "1" が読み込まれます。
ICS1 と ICS0 は書込みのみ有効で , S1 と S0 は読出しのみ有効です。
【bit 15 ∼ bit 12,bit 7 ∼ bit 4】ICS3 ∼ ICS0
ICS3 ∼ ICS0 ビットは , EI2OS チャネル選択ビットです。
書込み専用のビットです。ここで設定された値によりメモリ上の拡張インテリジェン
ト I/O サービスディスクリプタのアドレスが決定します。ICS はリセットにより初期化
されます。
ICS ビット , チャネル番号およびディスクリプタアドレスの対応を表 3.6-1 に示します。
66
第 3 章 割込み
表 3.6-1 ICS ビット , チャネル番号およびディスクリプタアドレス
ICS3
ICS2
ICS1
ICS0
セレクトされるチャネル
ディスクリプタアドレス
0
0
0
0
0
000100H
0
0
0
1
1
000108H
0
0
1
0
2
000110H
0
0
1
1
3
000118H
0
1
0
0
4
000120H
0
1
0
1
5
000128H
0
1
1
0
6
000130H
0
1
1
1
7
000138H
1
0
0
0
8
000140H
1
0
0
1
9
000148H
1
0
1
0
10
000150H
1
0
1
1
11
000158H
1
1
0
0
12
000160H
1
1
0
1
13
000168H
1
1
1
0
14
000170H
1
1
1
1
15
000178H
【bit 13, bit 12,bit 5,bit 4】S0, S1
S0, S1 は , EI2OS 終了ステータスビットです。
読出し専用のビットで , EI2OS 終了時にこのビットの値を調べることにより , 終了条件
が何であったかを判別することができます。リセットにより "00B" に初期化されます。
S ビットと終了条件との関係を表 3.6-2 に示します。
表 3.6-2 S ビットと終了条件
S1
S0
終了条件
0
0
EI2
0
1
カウント終了による停止状態
1
0
予約
1
1
内蔵リソースからの要求による停止状態
OS 動作中あるいは非起動時
【bit 11, bit 3】ISE
ISE ビットは , EI2OS を許可します。読み書き可能なビットです。
割込み要求の発生時にこのビットが "1" であると EI2OS が起動され , "0" のときは割込
みシーケンスが起動されます。また , EI2OS の終了条件が満たされると (S1 ビットと S0
ビットが "00B" でない ), ISE ビットは "0" になります。対応する周辺に EI2OS の機能が
ないときには , ソフトウェアで ISE を "0" にしておく必要があります。リセットにより
"0" に初期化されます。
67
第 3 章 割込み
【bit 10 ∼ bit 8, bit 2 ∼ bit 0】IL0, IL1, IL2
IL0, IL1, IL2 ビットは , 割込みレベルを設定します。
対応する内蔵リソースの割込みレベルを指定します。読出しと書込みができます。リ
セットによりレベル 7( 割込みなし ) に初期化されます。割込みレベル設定ビットと割
込みレベルとの関係を表 3.6-3 に示します。
表 3.6-3 割込みレベル設定ビットのレベル値
68
ILM2
ILM1
ILM0
割込みレベル値
0
0
0
0( 最強割込み )
0
0
1
1
0
1
0
2
0
1
1
3
1
0
0
4
1
0
1
5
1
1
0
6( 最弱割込み )
1
1
1
7( 割込みなし )
第 3 章 割込み
拡張インテリジェント I/O サービスディスクリプタ
(ISD)
3.6.2
拡張インテリジェント I/O サービスディスクリプタは , 内部 RAM 中の "000100H" ∼
"00017FH" に存在し , 以下に示すものから構成されます。
• データ転送の各種制御データ
• ステータスデータ
• バッファアドレスポインタ
■ 拡張インテリジェント I/O サービスディスクリプタ (ISD)
図 3.6-3 に , 拡張インテリジェント I/O サービスディスクリプタの構成を示します。
図 3.6-3 拡張インテリジェント I/O サービスディスクリプタの構成
データカウンタ上位8ビット (DCTH)
"H"
データカウンタ下位8ビット (DCTL)
I/Oレジスタアドレスポインタ上位8ビット (IOAH)
I/Oレジスタアドレスポインタ下位8ビット (IOAL)
EI2OSステータス (ISCS)
バッファアドレスポインタ上位8ビット (BAPH)
000100H + 8 × ICS
バッファアドレスポインタ中位ビット8 (BAPM)
ISD先頭アドレス
バッファアドレスポインタ下位8ビット (BAPL)
"L"
■ データカウンタ (DCT)
データカウンタ (DCT) は , 16 ビット長のレジスタで , 転送されたデータ要素の数に対
応したカウンタとして機能します。データ転送の前に , このカウンタは 1 個デクリメン
トされます。このカウンタがゼロになると EI2OS は終了します。
データカウンタ (DCT) のビット構成を図 3.6-4 に示します。
図 3.6-4 データカウンタ (DTC) の構成
データカウンタ上位
初期値→
15
14
13
12
11
10
9
8
B15
(X)
B14
(X)
B13
(X)
B12
(X)
B11
(X)
B10
(X)
B09
(X)
B08
(X)
←ビット No.
DCTH
データカウンタ下位
初期値→
7
6
5
4
3
2
1
0
B07
(X)
B06
(X)
B05
(X)
B04
(X)
B03
(X)
B02
(X)
B01
(X)
B00
(X)
←ビット No.
DCTL
69
第 3 章 割込み
■ I/O レジスタアドレスポインタ (IOA)
I/O レジスタアドレスポインタ (IOA) は , 16 ビット長のレジスタで , データ転送に使用
されるバッファと I/O レジスタの下位アドレス (A15 ∼ A00) を示します。上位アドレ
ス (A23 ∼ A16) はすべて "0" であり , "000000H" ∼ "00FFFFH" 番地までの任意の I/O を
指定できます。I/O レジスタアドレスポインタ (IOA) のビット構成を図 3.6-5 に示しま
す。
図 3.6-5 I/O レジスタアドレスポインタ (IOA) の構成
I/O レジスタアドレスポインタ上位
初期値→
15
14
13
12
11
10
9
8
A15
(X)
A14
(X)
A13
(X)
A12
(X)
A11
(X)
A10
(X)
A09
(X)
A08
(X)
←ビット No.
IOAH
I/O レジスタアドレスポインタ下位
初期値→
7
6
5
4
3
2
1
0
A07
(X)
A06
(X)
A05
(X)
A04
(X)
A03
(X)
A02
(X)
A01
(X)
A00
(X)
←ビット No.
IOAL
■ EI2OS ステータスレジスタ (ISCS)
EI2OS ステータスレジスタ (ISCS) は , 8 ビット長のレジスタで , 更新の向き ( インクリ
メント / デクリメント ), 転送データ形式 ( バイト / ワード ), バッファアドレスポインタ
および I/O レジスタアドレスポインタの転送方向を指示します。また , このレジスタは ,
バッファアドレスポインタまたはI/Oレジスタアドレスポインタが更新または固定され
ているかどうかも指示します。
EI2OS ステータスレジスタ (ISCS) のビット構成を図 3.66 に示します。
図 3.6-6 EI2OS ステータスレジスタ (ISCS) の構成
初期値→
7
6
5
4
3
予約
予約
(X)
(X)
2
1
予約
IF
(X)
(X)
0
BW
BF
DIR
SE
(X)
(X)
(X)
(X)
←ビット No.
各ビットについて , 以下に説明します。
【bit 4】IF
IF ビットは , I/O レジスタアドレスポインタの更新 / 固定を指定します。
表 3.6-4 I/O レジスタアドレスポインタの更新 / 固定ビット (IF)
IF
機能
0
データ転送後 I/O レジスタアドレスポインタは更新される。
1
データ転送後 I/O レジスタアドレスポインタは更新されない。
【bit 3】BW
BW ビットは , 転送データ長を指定します。
表 3.6-5 転送データ長を指定ビット (BW)
BW
70
機能
0
バイト
1
ワード
第 3 章 割込み
【bit 2】BF
BF ビットは , バッファアドレスポインタの更新 / 固定を指定します。
表 3.6-6 バッファアドレスポインタの更新 / 固定指定ビット (BF)
BF
機能
0
データ転送後バッファアドレスポインタは更新される。
1
データ転送後バッファアドレスポインタは更新されない。
<注意事項>
更新する場合 , バッファアドレスポインタは下位 16 ビットのみ変化します。許可される
のはインクリメントのみです。
【bit 1】:DIR
DIR ビットは , データの転送方向を指定します。
表 3.6-7 データの転送方向指定ビット (DIR) の設定
DIR
設定
0
I/O
1
バッファ→ I/O
→ バッファ
【bit 0】SE
SE ビットは , リソースからの要求に応じて , 拡張インテリジェント I/O サービスの終了
を制御します。
表 3.6-8 EI2OS 終了制御ビット
SE
設定
0
リソースからの要求により終了しない。
1
リソースからの要求により終了する。
■ バッファアドレスポインタ (BAP)
24 ビットのレジスタで次に EI2OS による転送で使用するアドレスを保持します。BAP
は EI2OS の各チャネルに対してそれぞれ独立に存在しますので , EI2OS の各チャネルは
16 M バイトの任意の空間を転送することができます。
<注意事項>
ISCS の BF ビットを "0"( 更新あり ) にした場合 , BAP は下位 16 ビットのみ変化し , BAPH
は変化しません。
71
第 3 章 割込み
3.6.3
拡張インテリジェント I/O サービス (EI2OS) の動作
図 3.6-7 に拡張インテリジェント I/O サービス (EI2OS) の動作フローを , 図 3.6-8 に
拡張インテリジェント I/O サービス (EI2OS) の使用手順フローを示します。
■ 拡張インテリジェント I/O サービス (EI2OS) の動作フロー
図 3.6-7 拡張インテリジェント I/O サービス (EI2OS) 動作フロー
周辺機能により
割込み要求発生
ISE = 1
NO
YES
ISD/ISCSリード
リソースから
の終了要求
割込みシーケンス
YES
SE = 1
NO
NO
YES
DIR = 1
NO
IOAで示されるデータ
(データ転送)
BAPで示されるメモリ
IF = 0
NO
BF = 0
DCT = 00
NO
IOA更新
更新値は
BWによる
BAP更新
(-1)
YES
周辺機能 割込み
要求のクリア
CPU動作復帰
ISD :EI OSディスクリプタ
ISCS :EI2OSステータスレジスタ
IF :EI2OSステータスレジスタ(ISCS)の
IOA更新/固定選択ビット
BW :EI2OSステータスレジスタ(ISCS)の
転送データ長指定ビット
BF :EI2OSステータスレジスタ(ISCS)の
BAP更新/固定選択ビット
DIR :EI2OSステータスレジスタ(ISCS)の
データ転送方向指定ビット
SE :EI2OSステータスレジスタ(ISCS)の
EI2OS終了制御ビット
72
更新値は
BWによる
YES
S1,S0に"00"をセット
2
BAPで示されるデータ
(データ転送)
IOAで示されるメモリ
YES
NO
DCTデクリメント
YES
EI2OS終了処理
S1,S0に"01"をセット
S1,S0に"11"をセット
ISEを"0"にクリア
割込みシーケンス
DCT :データカウンタ
IOA :I/Oレジスタアドレスポインタ
BAP :バッファアドレスポインタ
ISE :割込み制御レジスタ(ICR)のEI2OS許可ビット
S1,S0 :割込み制御レジスタ(ICR)のEI2OSステータス
第 3 章 割込み
図 3.6-8 拡張インテリジェント I/O サービス (EI2OS) の使用手順フロー
ソフトウェアによる処理
ハードウェアによる処理
開 始
システムスタック領域の設定
初
期
設
定
EI2OSディスクリプタの設定
周辺機能の初期設定
割込み制御レジスタ(ICR)
の設定
周辺機能の動作開始設定
割込み許可ビットの設定
PS内のILM, Iの設定
S1, S0="00"
ユーザプログラムの実行
(割込み要求)and(ISE=1)
データ転送
カウントアウトorリソース NO
からの終了要求による
割込みへ分岐の判定
(割込みベクトルへ分岐)
拡張インテリジェントI/O
サービスの再設定
(チャネルの切換えなど)
YES
S1, S0="01"or
S1, S0="11"
バッファ中のデータの処理
RETI
ISE
:割込み制御レジスタ(ICR)のEI2OSの許可ビット
S1, S0 :割込み制御レジスタ(ICR)のEI2OSステータス
73
第 3 章 割込み
3.6.4
拡張インテリジェント I/O サービス (EI2OS) の実行
時間
拡張インテリジェント I/O サービス (EI2OS) の実行時間は次の 3 つの場合がありま
す。
• データ転送継続時 ( 停止条件が成立しない場合 )
• リソースからの停止要求時
• カウント終了時
■ 拡張インテリジェント I/O サービス (EI2OS) の実行時間
● データ転送継続時 ( 停止条件が成立しない場合 )
( 表 3.6-9 + 表 3.6-10 ) マシンサイクル
表 3.6-9 拡張 EI2OS の継続時の実行時間
ISCS・SE ビット
"0" に設定
I/O レジスタアドレスポインタ
バッファアドレスポインタ
"1" に設定
固定
更新
固定
更新
固定
32
34
33
35
更新
34
36
35
37
● リソースからの停止要求時
(36+6 ×表 3.4-1 ) マシンサイクル
● カウント終了時
( 表 3.6-9 + 表 3.6-10 +(21+6 ×表 3.4-1 )) マシンサイクル
表 3.6-10 拡張 EI2OS 実行時間のデータ転送の補正値
内部アクセス
I/O レジスタアドレスポインタ
内部アクセス
バッファアドレス
ポインタ
外部アクセス
B
8
偶
奇
74
: バイトデータ転送
: 外部バス幅 8 ビット・ワード転送
: 偶数アドレス・ワード転送
: 奇数アドレス・ワード転送
外部アクセス
B/ 偶
奇
B/ 偶
8/ 奇
B/ 偶
0
+2
+1
+4
奇
+2
+4
+3
+6
B/ 偶
+1
+3
+2
+5
8/ 奇
+4
+6
+5
+8
第 3 章 割込み
3.7
未定義命令の実行による例外発生
F2MC-16LX では , 未定義命令の実行により例外が発生し , 例外処理が行われます。
例外処理は , 基本的には割込みと同じものであり , 命令の境目で例外事項が発生した
ことを検出した段階で , 通常処理から離れて例外処理を行います。一般的に , 例外処
理は予想外の動作を行った結果で発生するものですので , デバッグ時だけの使用や緊
急時の復旧ソフトウェアの起動などのみに使用することをお勧めします。
■ 未定義命令の実行による例外発生
F2MC-16LX では , 命令マップで定義していないコードはすべて未定義命令として扱い
ます。未定義命令を実行すると , ソフトウェア割込み命令の「INT 10」と等価な処理を
行います。すなわち , AL, AH, DPR, DTB, ADB, PCB, PC, PS の内容をシステムスタック
に退避した後に , 割込み番号 10 のベクタで示されるルーチンへ分岐します。さらに , I
フラグをクリアし , S フラグを設定します。スタックへ退避した PC の値は未定義命令
を格納しているアドレスそのものです。RETI 命令で元の処理に復帰させることは可能
ですが , 再び例外を発生するため , 意味がありません。
75
第 3 章 割込み
76
第4章
クロックとリセット
クロックとリセットの機能と動作について説明し
ます。
4.1 クロック発生部
4.2 リセット要因の発生
4.3 リセット要因
77
第 4 章 クロックとリセット
クロック発生部
4.1
クロック発生部により , スリープ , 時計 , ストップおよび PLL クロック逓倍機能など
内部クロックの動作制御を行います。この内部クロックのことをマシンクロックと
よび , その 1 周期をマシンサイクルとしています。また , 原発振によるクロックをメ
インクロックとよび , 内部の VCO 発振によるクロックを PLL クロックとしていま
す。
■ クロック発生部の注意
動作電圧が 5 V のとき , 3 MHz ∼ 16 MHz の発振が可能です。しかし , CPU および周辺
リソース回路の最大動作周波数が 16 MHz なので , 16 MHz を超える逓倍係数を指定し
た場合には , 正常な動作は保証されません。例えば , 外部クロックが 16 MHz で発振し
ている場合 , 逓倍係数として "1" しか指定できません。
また , VCO 発振の最低動作周波数は 4MHz であり , この周波数以下の発振は指定する
ことができません。
図 4.1-1 クロック発生回路ブロックダイヤグラム
S
リセット
S
割込み
HST
ストップモード
遷移
Q
時計モード
スリープモード
遷移
R
Q
マシンクロック
マシンクロック選択
R
S
Q
R
1
2
3
4
PLL逓倍
発振安定待ち時間
選択
タイムベースタイマ
1/2
X0
X1
1/2048
1/4
1/4
1/8
ウォッチドッグ
インターバル選択
ウォッチドッグタイマ
ウォッチドッグリセット
78
第 4 章 クロックとリセット
4.2
リセット要因の発生
リセット要因が発生すると , F2MC-16LX は直ちに現在実行中の処理を中断し , リ
セット解除待ち状態になります。
■ リセット要因の発生
リセットは以下の 5 種類の要因で発生します。
• パワーオンリセットの発生
• ハードウェアスタンバイ状態の解除
• ウォッチドッグタイマのオーバフロー
• RST 端子による外部リセット要求の発生
• ソフトウェアによるリセット要求の発生
ストップモードまたはパワーオンリセットから出ると,動作を再開する前に発振安定間
隔が挿入されます。
リセット要因が発生すると , F2MC-16LX はすぐに現在実行されている動作を停止し ,
リセット解除スタンバイモードに移ります。
マシンクロックとウォッチドッグ機能はリセット要因に合わせて初期化されます。
ウォッチドッグタイマ制御レジスタのリセット要因ビットでは,リセット要因を識別で
きます。
<注意事項>
ストップモード以外のモードでは , 外部リセット入力はクロック回路により内部的にサン
プルされますので , 外部クロック信号供給が使用されるときにリセット信号入力は受信さ
れません。
外部バスが使用されるとき , リセット要因が発生するデバイスによって未定義のアドレス
が生成されます。RD, WR 信号などの外部バスアクセスに使用される信号は , アクティブ
ではなくなります。
■ リセット解除後の動作
リセットが取り除かれると , F2MC-16LX は直ちにリセットベクタを格納してあるアド
レスを出力し , リセットベクタとモードデータの取込みを行います。リセットベクタと
モードデータは "FFFFDCH" ∼ "FFFFDFH" の 4 バイトに割り当てられています。リセッ
トベクタとモードデータは , 図 4.2-1 で示すように , リセット解除後にレジスタにハー
ドウェアで転送されます。
リセットベクタとモードデータを内部 ROM または外部メモリのどちらかから読み出
すかを指定するのは , モード端子により行います。モード端子で外部ベクタモードを指
定すると , 外部メモリにリセットベクタとモードデータを読み出しにいきますので , シ
ングルチップモードおよび内 ROM 外バスモードで使用される場合には , 内部ベクタ
モードを指定することを推奨します。
リセットベクタとモードデータを読み出した後のバスモードは,モードデータにより指
定します。
79
第 4 章 クロックとリセット
図 4.2-1 リセットベクタとモードデータの格納場所と格納先
● F2MC-16LX CPUコア●
モード
●メモリ空間●
レジスタ
FFFFDFH モードデータ
マイクロROM
FFFFDEH リセットベクタ(bit23~16)
リセットシーケンス
FFFFDDH リセットベクタ(bit15~8)
PCB
FFFFDCH リセットベクタ(bit7~0)
PC
<注意事項>
上記ダイヤグラムのモードレジスタは , リセット直後は定義されていません。モードデー
タをメモリ空間に格納して値がこの領域に書き込まれるようにしてください。
■ リセット入力によって初期化されないレジスタ
本製品には , パワーオンリセットでしか初期化されないレジスタがあります。表 4.2-1
に各リセット要因によって初期化されないレジスタを示します。
表 4.2-1 リセット入力によって初期化されないレジスタ
CKSCR
リセットの種類
WTC
LPMCR
WS1
WS0
MCS
CS1
CS0
WDCS
CG1
CG0
RST のみ使用
ソフトウェアリセット
×
×
×
×
×
×
×
×
ウォッチドッグリセット
×
×
○
×
×
×
○
○
パワーオンリセット
○
○
○
○
○
○
○
○
ハードウェアスタンバイ
(G サフィックスなしの製品 )
×
×
○
×
×
×
○
○
メイン
モード
×
×
○
×
×
×
○
○
サブ
モード
○
○
○
○
○
○
○
○
ハードウェアスタンバイ
(G サフィックス付きの製品 )
WS1, WS0: メインクロック発振安定待ち時間設定
MCS: マシンクロック ("0"=PLL クロック , "1"= メインクロック )
CS1, CS0:PLL クロック逓倍設定
WDCS: ウォッチドッグ入力クロック "0"= 時計タイマ , "1" = タイムベースタイマ
○ : 初期化する
× : 初期化しない
80
第 4 章 クロックとリセット
MCS ビットについては , マシンクロック設定ビットですので , 特に注意が必要です。例
えば , 電源投入がパワーオンリセット規格を満足しないときは , パワーオンリセットが
発生しません。そのため , MCS が初期化されないことにより , 内部動作周波数が動作
保証範囲外になり , 正常動作しなくなることが考えられます。
また , 何らかの原因により CPU が暴走し , MCS, CS1, CS0 が書き換わった際にも内部動
作周波数が動作保証範囲外になり , その状態から RST 入力のみでは正常復帰しなくな
ることが考えられます ( ただし , 内部ウォッチドッグが発生した場合には , MCS が初期
化され正常動作します )。
上記のようなケースが考えられる場合には , HST+RST(HST と RST をショート ) として
使用することを推奨します。
表 4.2-2 に , HST+RST を行った場合のリセット入力による初期化されないレジスタに
ついて示します。表 4.2-2 に示すように , リセット解除時の動作状態が , HST+RST のリ
セット入力と , RST のみの入力とで異なるので , 注意が必要です。
表 4.2-2 リセット入力によって初期化されないレジスタ
CKSCR
リセットの種類
WS0
MCS
CS1
CS0
WDCS
CG1
CG0
×
×
○
×
×
×
○
○
メイン
モード
×
×
○
×
×
×
○
○
サブ
モード *
○
○
○
○
○
○
○
○
(G サフィックスなしの製品 )
(G サフィックス付きの製品 )
LPMCR
WS1
HST+ RST
HST+ RST
WTC
○ : 初期化する
× : 初期化しない
* : サブモード移行期間中を含みます。
81
第 4 章 クロックとリセット
図 4.2-2 リセット入力による動作遷移
[リセット入力による動作遷移]
リセット入力(RST,HST+RST)
A.発振状態
発振
状態
RSTのみ使用 メイン
(HST="H")
サブ
HST+RSTを
使用
メイン
発振
発振
発振
停止
メイン発振
安定待ち
メインラン実行可能
サブ発振安定待ち サブラン実行可能
サブ
B.命令実行タイミング("L"停止,"H"開始)
・RSTのみ使用(HST="H")
・HST+RSTを使用
リセット入力前に設定
した発振安定時間
メインモード
サブモード
サブモード要求時には,
メイン2分周動作します。
SCSビットへの書込みは可
サブ発振(32kHz)の216カウント=約2s
・パワーオンリセット時
VCC(電源)
状態
発振
パワーオン
リセット
メイン
サブ
発振
停止
メイン発振
安定待ち
メインラン実行可能
サブ発振安定待ち サブラン実行可能
メイン発振の218カウント
発振安定時間
メインモード
サブモード
サブモード要求時には,
メイン2分周動作します。
SCSビットへの書込みは可
サブ発振(32kHz)の216カウント=約2s
82
第 4 章 クロックとリセット
4.3
リセット要因
表 4.3-1 に , 5 種類のリセット要因を示します。リセット要因によりマシンクロック
とウォッチドッグ機能の初期化状態が異なります。
リセット要因レジスタはリセット要因を表示します。
■ リセット要因
表 4.3-1 リセット要因
マシンクロック
サブクロック時
ウォッチドッグ 発振安定
タイマ
待ち
PLL クロック時
メインクロック *
メインクロック *
停止
あり
メインクロック *
メインクロック *
停止
あり
ウォッチドッグタイマ
オーバフロー
メインクロック *
メインクロック *
停止
あり
RST 端子への
メインクロック *
または PLL クロック
PLL クロック
前の状態を保持
なし
LPMCR レジスタ中の RST メインクロック *
ビットに "0" をライト または PLL クロック
PLL クロック
前の状態を保持
なし
リセット
発生要因
パワーオン
電源立上げ時
ハードウェア
スタンバイ
"L" レベル入力
ウォッチドッグ
タイマ
HST 端子への
外部端子
"L" レベル入力
ソフトウェア
*:fosc/2(fosc: 原発振 )
<注意事項>
• ストップモードで外部端子リセット信号が入力されると,リセット要因に関係なく発振
安定待ち時間を確保します。
• パワーオンリセットの発振安定待ち時間は , 原発振 218 サイクル固定です。また , サブ
クロックモード時のハードウェアスタンバイリセットの発振安定待ち時間は , 原発振
217 サイクル固定です。また , サブクロックモード時のハードウェアスタンバイリセッ
トの発振安定待ち時間は , 原発振 217 サイクル固定です。それ以外の発振安定待ち時間
は , クロック選択レジスタの WS1/WS0 により決定されます。
それぞれのリセット要因には対応したフリップフロップがあります。これらの内容は
ウォッチドッグタイマ制御レジスタを読み出すことで得ることができますので,リセッ
ト解除後にリセット発生要因を識別する必要がある場合には,ウォッチドッグタイマ制
御レジスタを読み出した値をソフトウェアで処理した上で,適切なアプリケーションプ
ログラムへ分岐するようにしてください。
83
第 4 章 クロックとリセット
図 4.3-1 リセット要因ビットブロックダイヤグラム
HST端子
RST端子
定期的なクリアなし
HST="L"→"H"
電源投入
パワーオン発生
検出回路
RST="L"
ハードウェアスタンバイ
解除検出回路
RSTビットセット
ウォッチドッグタイマ
リセット発生検出回路
外部リセット要求
検出回路
LPMCR.RSTビット
書込み検出回路
WTCレジスタ
S
R
F/F
S
R
S
F/F
R
S
R
S
F/F
R
F/F
F/F
遅延
回路
WTCレジスタ読出し
内部データバス
リセット要因が複数発生する場合でも,ウォッチドッグタイマ制御レジスタの対応する
それぞれのリセット要因ビットを立てるようになっています。したがって , 外部リセッ
ト要求とウォッチドッグリセットが同時に発生した場合でもERSTビットとWRSTビッ
トの両方が "1" になります。
ただし , パワーオンリセットの場合だけは別で , PONR ビットが "1" であるときはそれ
以外のビットの内容は正常なリセット要因を示しておりません。このため , PONR ビッ
トが "1" の場合はそれ以外のリセット要因ビットの内容は無視するようにソフトウェ
アを作成してください。
表 4.3-2 リセット要因ビット値とリセット要因
リセット要因
PONR
STBR
WRST
ERST
SRST
パワーオン
1
-
-
-
-
ハードウェアスタンバイ
*
1
*
*
*
ウォッチドッグタイマ
*
*
1
*
*
外部端子
*
*
*
1
*
RST ビット
*
*
*
*
1
*: 前の値を保持
リセット要因ビットのクリアはウォッチドッグタイマ制御レジスタの読出しだけです
ので , 一度発生したリセット要因に対応するリセット要因ビットは , それ以外のリセッ
ト要因が発生しても "1" になったままとなっています。
ウォッチドッグタイマ制御レジスタの構成とリセット要因ビットについての詳細は ,
「第 9 章 タイムベースタイマ」「第 10 章 ウォッチドッグタイマ」「第 11 章 時計タイ
マ」を参照してください。
84
第5章
低消費電力制御回路
低消費電力制御回路の機能と動作について説明し
ます。
5.1 低消費電力制御回路の概要
5.2 低消費電力制御回路のブロックダイヤグラム
5.3 低消費電力制御回路のレジスタ
5.4 クロック選択の状態遷移
85
第 5 章 低消費電力制御回路
5.1
低消費電力制御回路の概要
低消費電力制御回路は , 主に低消費電力の動作モードで用いられます。また , レジス
タのビット設定により CPU 間欠動作機能や発振安定待ち時間の設定を行うことがで
きます。
全体のブロックダイヤグラム中では , クロック制御回路の一部となります (「1.3 ブ
ロックダイヤグラム」を参照 )。
■ 低消費電力制御回路の動作モード
MB90540/545 では次の動作モードをサポートしています。動作モードとして , PLL ク
ロックモード・PLL スリープモード・PLL 時計モード・疑似時計モード・メインクロッ
クモード・メインスリープモード・メイン時計モード・メインストップモード・サブ
クロックモード・サブスリープモード・サブ時計モード・サブストップモード・ハー
ドウェアスタンバイモードがあり , PLL クロックモード以外の動作モードが低消費電
力モードになります。
■ CPU 間欠動作機能
CPU 間欠動作機能は , 内蔵レジスタ , 内蔵メモリ (ROM, RAM, I/O, リソースメモリ ), 外
部バスアクセスを行うときに CPU に供給するクロックを一定期間停止させ , 内蔵バス
サイクルの起動を遅らせる機能であり , 内蔵リソースに高速クロックを供給したまま
CPU の実行速度を下げることにより , 低消費電力で処理が行えます。低消費電力モー
ド制御レジスタ (LPMCR) 内の CG1, CG0 ビットにより , CPU に供給するクロックの一
時停止サイクル数の選択を行います。
外部バス動作では周辺リソースと同じクロック信号が引き続き使用されることに注意
してください。
また , CPU 間欠動作機能を使用した場合の命令実行時間の算出は , レジスタ , 内蔵メモ
リ , 内蔵リソースにアクセスを行う回数に , 一時停止サイクル数を掛けた補正値を通常
の実行時間に加えることで , 求めることができます。
■ メインクロック発振安定待ち時間設定
クロック選択レジスタ (CKSCR) 内の WS1, WS0 ビットにより , ストップモードの解除
時のメインクロック発振安定待ち時間の選択を行います。X0, X1 端子に接続する発振
回路 , 発振素子の種類や特性に応じて発振安定待ち時間を選択してください。
パワーオンリセットハードウェアスタンバイ以外のリセットは本ビットを初期化しま
せん。パワーオンリセット発生後およびハードウェアスタンバイモード解除後は本
ビットを "11B" に初期化します。そのため , パワーオンハードウェアスタンバイ後のメ
インクロック発振安定待ち時間は , 原発振の約 218 カウントになります。
<注意事項>
G サフィックスなしの製品では , ハードウェアスタンバイモード時の発振安定待ち時間は ,
WS1, WS0 により決定され , WS1, WS0 ビットはハードウェアスタンバイでは初期化されませ
ん。
86
第 5 章 低消費電力制御回路
■ マシンクロックの切換え
● メインクロック・PLL クロックの切換え
クロック選択レジスタ (CKSCR) 内の MCS ビットへの書込み動作により , メインクロッ
クと PLL クロックの切換えを行います。
MCS ビットを "1" から "0" に書き換えた場合には , PLL クロックの発振安定待ち時間
(213 マシンクロックサイクル ) 後 , メインクロックから PLL クロックに切り換わります。
MCS ビットを "0" から "1" に書き換えた場合には , PLL クロックとメインクロック信
号のエッジが次に一致するタイミング (1 ∼ 8PLL クロックサイクル以内 ) で PLL クロッ
クからメインクロックに切り換わります。
MCS ビットを書き換えても即座にマシンクロックの切換えが行われないので , マシン
クロックに依存するリソースを操作する場合には , MCM ビットを参照してマシンク
ロックスピードの切換えが行われたことを確認した後に,リソースの操作を行ってくだ
さい。
● メインクロック・サブクロックの切換え
2 系統品ではクロック選択レジスタ (CKSCR) 内の SCS ビットへの書込み動作により ,
メインクロックとサブクロックの切換えを行います。
SCS ビットを "1" から "0" に書き換えた場合には , サブクロックに同期をとって ( 約
130µs) , 動作はメインクロックからサブクロックに切り換わります。
SCS ビットを "0" から "1" に書き換えた場合には , メインクロックの発振安定待ち時間
後に , 動作はサブクロックからメインクロックに切り換わります。
SCS ビットを書き換えても即座にマシンクロックの切換えが行われないので , マシン
クロックの動作を確認した後に , リソースの操作を行ってください。
なお , サブクロックは 1 系統品では使用できません。
<注意事項>
サブクロックモードから外部リセット端子 (RST 端子 ) にてメインクロックモードへ復帰
する場合は , サブクロックの 2 マシンサイクル以上 "L" レベルを入力してください。
● マシンクロック初期化
MCS ビットは , 外部端子 , RST ビットによるリセットでは , 初期化されません。そのほ
かのリセットでは , "1" に初期化されます。
<注意事項>
電源を投入した場合またはハードウェアスタンバイモード , ストップモードを解除した場
合は , サブクロック発振安定待ち時間 ( 約 2 秒 ) が発生します。この間に , メインクロッ
クモードからサブクロックモードに切り換えた場合は , 発振安定待ち時間が発生します。
クロックモードを切り換えた場合 , 切換えが完了するまでは , ほかのクロックモードおよ
び低消費電力モードへの切換えを行わないでください。切換えの完了はクロック選択レジ
スタ (CKSCR) の MCM ビットおよび SCM ビットを参照して確認してください。切換え
が完了する前に , ほかのクロックモードおよび低消費電力モードへの切換えを行った場
合 , 切り換わらない場合があります。
87
第 5 章 低消費電力制御回路
■ PLL クロック逓倍機能
PLL クロックの逓倍率は CS1, CS0 ビットの設定により , 1, 2, 3, 4 逓倍の中から選択す
ることができます。
88
第 5 章 低消費電力制御回路
5.2
低消費電力制御回路のブロックダイヤグラム
低消費電力制御回路のブロックダイヤグラムを示します。
■ 低消費電力制御回路のブロックダイヤグラム
図 5.2-1 低消費電力制御回路とクロック発生部のブロックダイヤグラム
CKSCR
SCM
サブクロック 1/4
SCS
切換え制御
4分周
サブクロック
(OSC発振)
2分周
メインクロック
(OSC発振)
1/2
CKSCR
MCM
PLL逓倍回路
MCS
1
2
3
4
CPUクロック
CPU系
CKSCR
クロック発生
1/2 1/4
CS1
CPU
CS0
クロックセレクタ
0/9/17/33
間欠サイクル選択
LPMCR
CG1
CPU間欠動作機能
CG0
サイクル数選択回路
SLP
STP
周辺クロック
周辺系
LPMCR
クロック発生
SCM
SLEEP
スタンバイ
制御回路
TMD
RST
MSTP
メインOSC停止
STOP
サブOSC停止
解除 HST 起動
HST端子
割込み要求
or RST
CKSCR
WS1
WS0
発振安定
待ち時間
セレクタ
210
213
215
217*
1/2
クロック入力
タイムベースタイマ
212
214
216
219
LPMCR
SPL
SSR
LPMCR
RST
端子ハイインピーダンス制御回路
セルフリフレッシュ制御回路
端子 Hi-Z
セルフリフレッシュ
RST端子
内部リセット発生回路
内部RST
ウォッチドッグタイマへ
WDGRST
* : パワーオンリセット時,218
89
第 5 章 低消費電力制御回路
5.3
低消費電力制御回路のレジスタ
低消費電力制御回路のレジスタには , 次の 2 種類があります。
• 低消費電力モード制御レジスタ
• クロック選択レジスタ
■ 低消費電力制御回路のレジスタ
低消費電力制御回路のレジスタのビット構成を図 5.3-1 に示します。
図 5.3-1 低消費電力制御回路のレジスタ
低消費電力モード制御レジスタ
7
6
5
4
3
2
1
0
←ビット No.
アドレス:0000A0H
STP
SLP
SPL
RST
TMD
CG1
CG0
予約
LPMCR
リード / ライト→
(W)
(W)
(R/W)
(W)
(W)
(R/W)
(R/W)
(-)
初期値→
(0)
(0)
(0)
(1)
(1)
(0)
(0)
(0)
クロック選択レジスタ
15
14
13
12
11
10
9
8
←ビット No.
SCM
MCM
WS1
WS0
SCS
MCS
CS1
CS0
CKSCR
リード / ライト→
(R)
(R)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(1)
(1)
(1)
(1)
(1)
(1)
(0)
(0)
アドレス:0000A1H
90
第 5 章 低消費電力制御回路
5.3.1
低消費電力モード制御レジスタ (LPMCR)
低消費電力モード制御レジスタ (LPMCR) の構成やビットの機能について説明します。
■ 低消費電力モード制御レジスタ (LPMCR)
消費電力モード制御レジスタ (LPMCR) のビット構成を図 5.3-2 に示します。
図 5.3-2 低消費電力モード制御レジスタ (LPMCR)
7
6
5
4
3
2
1
0
←ビット No.
アドレス:0000A0H
STP
SLP
SPL
RST
TMD
CG1
CG0
予約
LPMCR
リード / ライト→
(W)
(W)
(R/W)
(W)
(W)
(R/W)
(R/W)
(-)
初期値→
(0)
(0)
(0)
(1)
(1)
(0)
(0)
(0)
【bit 7】STP
"1" を書き込むことにより疑似時計モード (CKSCR.MCS=0 および SCS=1) またはストッ
プモード (CKSCR.MCS=1 または SCS=0) に遷移します。"0" の書込みでは動作に影響
はありません。リセット , 時計モード解除またはストップモード解除で "0" にクリアさ
れます。書込みのみ可能なビットです。読出し値は , 常に "0" です。
【bit 6】SLP
"1" を書き込むことによりスリープモードに遷移します。"0" の書込みでは動作に影響
はありません。リセット , スリープモード解除またはストップモード解除で "0" にクリ
アされます。
STP ビットと SLP ビットに同時に "1" を書き込んだ場合 , 時計モードまたは疑似時計
モードに遷移します。書込みのみ可能なビットです。読出し値は , 常に "0" です。
【bit 5】SPL
"0" の場合 , 時計モード疑似時計モードまたはストップモード時の外部端子のレベルを
保持します。"1" の場合時計モード疑似時計モードまたはストップモード時の外部端子
をハイインピーダンスにします。リセットで "0" にクリアされます。
【bit 4】RST
"0" を書き込むことにより 3 マシンサイクルの内部リセット信号を発生します。"1" の
書込みでは動作に影響はありません。読出し値は常に "1" です。
【bit 3】TMD
2 系統品 :
"0" を書き込むことにより時計モードに遷移します。"1" の書込みでは動作に影響は
ありません。リセット , 時計解除またはストップ解除で "1" にクリアされます。書
込みのみ可能なビットです。読出し値は , 常に "1" です。
1 系統品 :
常に "1" を書き込んでください。
91
第 5 章 低消費電力制御回路
【bit 2, bit1】CG1, CG0
CPU 間欠動作機能のクロック一時停止サイクル数を設定します。
パワーオン , ハードウェアスタンバイ , ウォッチドッグによるリセットにより "00B" に
初期化されます。そのほかのリセット要因によるリセットでは初期化されません。
表 5.3-1 に , CG ビット設定を示します。
表 5.3-1 CG ビット設定
CG1
CG0
0
0
0 サイクル (CPU クロック = リソースクロック )
0
1
9 サイクル (CPU クロック : リソースクロック =1: 約 3 ∼ 4)
1
0
17 サイクル (CPU クロック : リソースクロック =1: 約 5 ∼ 6)
1
1
33 サイクル (CPU クロック : リソースクロック =1: 約 9 ∼ 10)
CPU クロック一時停止サイクル数
【bit 0】予約ビット
本ビットには , 必ず "0" を書き込んでください。
■ 低消費電力モード制御レジスタのアクセス
ワード長で低消費電力モード制御レジスタへの書込みを行う場合には,偶数アドレスで
書込みが行われるようにしてください。奇数アドレスの書込みで低消費電力モードへ
遷移された場合には , 誤動作の原因となる場合があります。
低消費電力モード制御レジスタにデータを書き込むと,低消費電力モードが起動します
( ストップモードまたはスリープモード )。この場合には , 表 5.3-2 に示す命令を使用し
てください。そのほかの命令を使用して低消費電力モードを起動すると , 誤作動の原因
となる場合があります。低消費電力モード制御レジスタから低消費電力モードへの遷
移以外の機能を制御するには , どの命令でも使用できます。
ワード長で低消費電力モード制御レジスタにデータを書き込むには,データを偶数アド
レスで書き込むようにしてください。奇数アドレスでデータを書き込んで低消費電力
モードを起動すると , 誤作動の原因となる場合があります。
表 5.3-2 低消費電力モードへの遷移に使用される命令のリスト
MOV
io,#imm8
MOV
dir,#imm8
MOV
eam,#imm8
MOV
eam,Ri
MOV
io,A
MOV
dir,A
MOV
addr16,A
MOV
eam,A
MOV
@RLi+disp8,A
MOVW io,#imm16
MOVW dir,#imm16
MOVW eam,#imm16
MOVW eam,RWi
MOVW io,A
MOVW dir,A
MOVW addr16,A
MOVW eam,A
MOVW @RLi+disp8,A
92
SETB
io:bp
SETB
dir:bp
SETB
addr16:bp
CLRB
io:bp
CLRB
dir:bp
CLRB
addr16:bp
第 5 章 低消費電力制御回路
5.3.2
クロック選択レジスタ (CKSCR)
クロック選択レジスタ (CKSCR) のレジスタ配置とビットの機能について説明します。
■ クロック選択レジスタ (CKSCR)
クロック選択レジスタ (CKSCR) のビット構成を図 5.3-3 に示します。
図 5.3-3 クロック選択レジスタ (CKSCR)
15
14
SCM
MCM
WS1
WS0
SCS
MCS
リード / ライト→
(R)
(R)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(1)
(1)
(1)
(1)
(1)
(1)
(0)
(0)
アドレス:0000A1H
13
12
11
10
9
8
←ビット No.
CS1
CS0
CKSCR
(R/W)
(R/W)
【bit 15】SCM
マシンクロックとして,メインクロックまたはサブクロックのどちらが選択されている
かを表示するビットです。"0" の場合 , サブクロックが選択されていることを示し , "1"
の場合 , メインクロックが選択されていることを示します。SCS=1 で , かつ SCM=0 な
らば , メインクロック発振安定待ち時間中であることを示します。書込みは , 動作に影
響しません。
【bit 14】MCM
マシンクロックとして , メインクロックまたは PLL クロックのどちらが選択されてい
るかを表示するビットです。"0" の場合 , PLL クロックが選択されていることを示し ,
"1" の場合 , メインクロックが選択されていることを示します。
MCS=0 で , かつ MCM=1
ならば , PLL クロック発振安定待ち時間中であることを示します。なお , PLL クロック
の発振安定待ち時間は , 213 メインクロックサイクル固定です。書込みは , 動作に影響
しません。
【bit 13, bit12】WS1, WS0
ストップモードが解除されているときは , WS1 と WS0 を使用して発振安定待ち時間を
指定します。X0 および X1 端子に接続されている発振回路と発振デバイスの種類と特
性に応じて発振安定待ち時間を指定してください。
これらのビットはパワーオンリセット * 以外のリセットでは初期化されません。パワー
オンリセット時に "11B" に初期化されます。したがって,パワーオンリセット時には ,
発振安定待ち時間は原発振の約 218 カウントです。読み書き可能なビットです。
*:Gサフィックス付き製品は, サブクロックモード時のハードウェアスタンバイによる
リセットでも初期化されます。
表 5.3-3 に , WS ビット設定を示します。
表 5.3-3 WS ビット設定
WS1
WS0
0
0
約 256 µs ( 発振 210 カウント )
0
1
約 2.05 ms( 発振 213 カウント )
1
0
約 8.19 ms ( 発振 215 カウント )
1
1
約 32.77 ms( 発振 217 カウント )
約 65.54 ms ( 原発振 218 カウント ) パワーオンリセットのみ
発振安定待ち時間 ( 原発振 4 MHz 時 )
93
第 5 章 低消費電力制御回路
【bit 11】SCS
2 系統品 :
マシンクロックとして , メインクロックまたはサブクロックのどちらかを選択する
かを指示するビットです。"0" を書き込むことにより , サブクロックを選択します。
"1" を書き込むことにより , メインクロックを選択します。"1" の場合に , "0" を書き
込むと , サブクロックに同期をとって ( 約 130 µs) サブクロックモードに切り換わり
ます。"0" の場合に , "1" を書き込むと , メインクロックの発振安定待ち時間を発生
した後 , メインクロックモードに切り換わり自動的にタイムベースタイマがクリア
されます。SCS ビットおよび MCS ビットがともに "0" の場合には , SCS ビットが優
先され , サブクロックが選択されます。
1 系統品 :
常に "1" を書き込んでください。
【bit10】MCS
マシンクロックとして , メインクロックまたは PLL クロックのどちらを選択するかを指
示するビットです。"0" を書き込むことにより , PLL クロックを選択します。"1" を書き
込むことにより , メインクロックを選択します。"1" の場合に , "0" を上書きすると , PLL
クロックの発振安定待ち時間を発生するために , 自動的にタイムベースタイマがクリア
されます。なお , PLL クロックの発振安定待ち時間は , 213 メインクロックサイクル固定
です。
また , メインクロック選択時の動作クロックは , 発振クロックを 2 分周したクロックと
なります ( 原発振 4 MHz 時 , 動作クロック速度は 2 MHz になります )。
MCS ビットが "0" から "1" に変更されると , メインクロックは PLL のエッジと一致し
たときに PLL クロックを引き継ぎます ( およそ 1 ∼ 8PLL クロックサイクル後 )。MCS
ビットに書き込んでも , すぐにはマシンクロックの変更は行われません。マシンクロッ
クに依存するリソースを使用するには , 常に前もって MCM ビットを参照してマシンク
ロックが変更されているかを確認してください。
<注意事項>
パワーオン , ハードウェアスタンバイ , ウォッチドッグによるリセットにより "1" に初期
化されます。MCS は外部端子または RST ビットを使用したリセットでは初期化されませ
ん。
94
第 5 章 低消費電力制御回路
【bit9, bit8】CS1, CS0
PLL クロックの逓倍率を決定するビットです。外部端子 , RST ビット , ウォッチドッグ
タイマおよびハードウェアスタンバイ * によるリセットでは初期化されません。パワー
オンによるリセットでのみ "00B" に初期化されます。
*:G
サフィックス付き製品はサブクロックモード時のハードウェアスタンバイによる
リセットでも初期化されます。
MCS ビットが "0" の場合には書込みが抑止されます。一度 MCS ビットを "1" にした
( メインクロックモード ) 後に , CS ビットを書き換えてください。読み書き可能なビッ
トです。
表 5.3-4 に , CS ビットの設定を示します。
表 5.3-4 CS ビットの設定
CS1
CS0
0
0
4 MHz ( 動作周波数 =OSC 発振クロック )
0
1
8 MHz ( 動作周波数 =OSC 発振クロック× 2)
1
0
12 MHz ( 動作周波数 =OSC 発振クロック× 3)
1
1
16 MHz ( 動作周波数 =OSC 発振クロック× 4)
マシンクロック ( 原発振 4MHz 時 )
<注意事項>
動作電圧が 5 V のとき , 原発振は 3 MHz ∼ 16 MHz の間になります。CPU と周辺リソー
ス回路の最大動作周波数は 16 MHz なので , 16 MHz を超える逓倍係数が指定された場合
は正常な動作が保証されません。例えば外部クロックが 16MHz の場合 , 逓倍係数には "1"
しか指定できません。
VCO 発振の最小動作周波数は 4 MHz です。4 MHz を下回る発振を指定しないでください。
95
第 5 章 低消費電力制御回路
5.4
クロック選択の状態遷移
図 5.4-1 , 図 5.4-2 および図 5.4-3 にクロック選択の状態遷移を示します。
■ クロック選択の状態遷移
図 5.4-1 クロック選択の状態遷移図 1(2 系統品その 1)
パワーオン
メイン
SCS=1,MCS=1
SCM=1,MCM=1
CS1/0=xxB
PLLx
メイン
SCS=1,MCS=0
SCM=1,MCM=1
CS1/0=xxB
①
⑦
③
PLL1
メイン
SCS=0orMCS=1
SCM=1,MCM=0
CS1/0=00B
⑦
PLLx
サブ
SCS=1,MCS=0
SCM=0,MCM=1
CS1/0=xxB
⑦
⑨
⑧
サブ
メイン
SCS=0,MCS=x
SCM=1
SCM=1
⑧
②
④
⑥
メイン
PLL2
SCS=0orMCS=1
SCM=1,MCM=0
CS1/0=01B
⑦
メイン
PLL3
SCS=0orMCS=1
SCM=1,MCM=0
CS1/0=10B
⑧
PLL4
メイン
SCS=0orMCS=1
SCM=1,MCM=0
CS1/0=11B
⑥
⑤
PLL2逓倍
SCS=1,MCS=0
SCM=1,MCM=0
CS1/0=01B
⑥
PLL3逓倍
SCS=1,MCS=0
SCM=1,MCM=0
CS1/0=10B
⑥
PLL4逓倍
SCS=1,MCS=0
SCM=1,MCM=0
CS1/0=11B
① MCS ビットクリアおよび SCS ビットセット
② PLL クロック発振安定待ち時間終了および CS1/0=00B
③ PLL クロック発振安定待ち時間終了および CS1/0=01B
④ PLL クロック発振安定待ち時間終了および CS1/0=10B
⑤ PLL クロック発振安定待ち時間終了および CS1/0=11B
⑥ MCS ビットセットまたは SCS ビットクリア
⑦ PLL クロックとメインクロックの同期タイミングおよび SCS=1
⑧ PLL クロックとメインクロックの同期タイミングおよび SCS=0
⑨ メインクロック発振安定待ち時間終了および MCS=0
96
PLL1逓倍
SCS=1,MCS=0
SCM=1,MCM=0
CS1/0=00B
第 5 章 低消費電力制御回路
図 5.4-2 クロック選択モードの状態遷移図 2(2 系統品その 2)
パワーオン
メイン
SCS=1,MCS=1
SCM=1
MCM=1
①
メイン
SCS=0
SCM=1
MCM=1
サブ
サブ
SCS=1
SCM=0
MCM=1
メイン
②
④
サブ
PLLx
SCS=0,MCS=x
SCM=1,MCM=0
CS1/0=xxB
PLLx
メイン
SCS=1,MCS=0
SCM=1,MCM=1
CS1/0=xxB
⑤
③
サブ
SCS=0
SCM=0
MCM=1
⑥
① SCS ビットクリア
② サブクロックのエッジ検出タイミング
③ SCS ビットセット
④ メインクロック発振安定待ち時間終了および MCS=1
⑤ PLL クロックとメインクロックの同期タイミングおよび SCS=0
⑥ メインクロック発振安定待ち時間終了および MCS=0
97
第 5 章 低消費電力制御回路
図 5.4-3 クロック選択の状態遷移図 3(1 系統品 )
パワーオン
メイン
SCS=1,MCS=1
SCM=1,MCM=1
CS1/0=xxB
①
⑥
⑦
⑦
⑦
⑦
PLLx
メイン
SCS=1,MCS=0
SCM=1,MCM=1
CS1/0=xxB
②
PLL1逓倍
メイン
SCS=1,MCS=1
SCM=1,MCM=0
CS1/0=00B
メイン
PLL2逓倍
SCS=1,MCS=1
SCM=1,MCM=0
CS1/0=01B
③
⑥
④
PLL2逓倍
SCS=1,MCS=0
SCM=1,MCM=0
CS1/0=01B
⑥
メイン
PLL3逓倍
SCS=1,MCS=1
SCM=1,MCM=0
CS1/0=10B
PLL1逓倍
SCS=1,MCS=0
SCM=1,MCM=0
CS1/0=00B
⑤
PLL4逓倍
メイン
SCS=1,MCS=1
SCM=1,MCM=0
CS1/0=11B
PLL3逓倍
SCS=1,MCS=0
SCM=1,MCM=0
CS1/0=10B
PLL4逓倍
SCS=1,MCS=0
SCM=1,MCM=0
CS1/0=11B
① MCS ビットクリアおよび SCS ビットクリア
② PLL クロック発振安定待ち時間終了および CS1/0=00B
③ PLL クロック発振安定待ち時間終了および CS1/0=01B
④ PLL クロック発振安定待ち時間終了および CS1/0=10B
⑤ PLL クロック発振安定待ち時間終了および CS1/0=11B
⑥ MCS ビットセット
⑦ PLL クロックとメインクロックの同期タイミングおよび SCS=1
<注意事項>
クロックモードを切り換えた場合 , 切換えが完了するまでは , ほかのクロックモードおよ
び低消費電力モードへの切換えを行わないでください。切換えの完了はクロック選択レジ
スタ (CKSCR) の MCM ビットおよび SCM ビットを参照して確認してください。切換え
が完了する前に , ほかのクロックモードおよび低消費電力モードへの切換えを行った
場合 , 切り換わらない場合があります。
98
第6章
低消費電力モード
低消費電力モードの機能と動作について説明しま
す。
6.1 低消費電力モード
6.2 低消費電力モードの状態遷移
6.3 低消費電力モード状態遷移図
99
第 6 章 低消費電力モード
6.1
低消費電力モード
MB90540/545 では次の動作モードをサポートしています。
• PLL クロックモード
• PLL スリープモード
• PLL 時計モード
• 擬似時計モード
• メインクロックモード
• メインスリープモード
• メイン時計モード
• メインストップモード
• サブクロックモード
• サブスリープモード
• サブ時計モード
• サブストップモード
• ハードウェアスタンバイモード
• CPU 間欠動作
PLL クロックモード以外の動作モードが低消費電力モードに分類されています。
■ 低消費電力モード
● メインクロックモード・メインスリープモード
メインクロック ( メイン OSC 発振クロック ) とサブクロック ( サブ OSC 発振クロック ) で
動作させるモードです。動作クロック信号はメインクロック信号を 2 分周したもので , サ
ブクロック信号 ( サブ OSC 発振クロック ) は PLL クロック (VCO 発振クロック ) が停止
している間 , 時計クロック信号として使用されます。
● サブクロックモード・サブスリープモード
サブクロックのみで動作させるモードです。サブクロックを 4 分周したものが動作ク
ロックとなり , メインクロックと PLL クロックは停止します。
● PLL スリープモード・メインスリープモード
CPU の動作クロックのみ停止させるモードで , CPU クロック以外は動作しています。
● 擬似時計モード
時計タイマおよびタイムベースタイマのみを動作させるモードです。
100
第 6 章 低消費電力モード
● PLL 時計モード・メイン時計モード・サブ時計モード
時計タイマのみを動作させるモードです。サブクロック信号のみで動作させるモード
で , メインクロックおよび PLL クロックを停止させるモードです。なお , PLL 時計モー
ド・メイン時計モード・サブ時計モードの違いは , 割込みによる復帰時の動作モードが
それぞれ PLL クロックモード・メインクロックモード・サブクロックモードであるこ
とであり , 時計モードの動作は違いありません。
● メインストップモード・サブストップモードとハードウェアスタンバイモード
発振を停止させるモードであり , もっとも低消費電力でデータを保持できます。なお ,
メインストップモード・サブストップモードの違いは , 割込みによる復帰時の動作モー
ドがそれぞれメインクロックモード・サブクロックモードであることであり , ストップ
モードの動作は違いありません。
● CPU 間欠動作機能
内蔵レジスタ , 内蔵メモリ , 内蔵リソースおよび外部バスアクセスを行うときに , CPU
に供給するクロックを間欠動作させる機能であり,内蔵リソースに高速クロックを供給
したまま CPU の実行速度を下げることにより , 低消費電力で処理が行えます。
<注意事項>
クロックモードを切り換えた場合 , 切換えが完了するまでは , ほかのクロックモードおよ
び低消費電力モードへの切換えを行わないでください。切換えの完了はクロック選択レジ
スタ (CKSCR) の MCM ビットおよび SCM ビットを参照して確認してください。切換え
が完了する前に , ほかのクロックモードおよび低消費電力モードへの切換えを行った場
合 , 切り換わらない場合があります。
101
第 6 章 低消費電力モード
■ 低消費電力モード動作状態
表 6.1-1 , 表 6.1-2 に , 各動作モードにおけるチップの動作状態を示します。
表 6.1-1 低消費電力モード動作状態 (2 系統品 )
状態
遷移
条件
サブ
発振
メイン
発振
マシン
クロック
CPU
周辺
端子
解除方法
サブ
クロック
SCS=0
MCS=x
動作
停止
動作
動作
動作
動作
外部
リセット
サブ
スリープ
SCS=0
MCS=x
SLP=1
動作
停止
動作
停止
動作
動作
外部
リセット
割込み
メイン
スリープ
SCS=1
MCS=1
SLP=1
動作
動作
動作
停止
動作
動作
外部
リセット
割込み
PLL
スリープ
SCS=1
MCS=0
SLP=1
動作
動作
動作
停止
動作
動作
外部
リセット
割込み
擬似時計
(SPL=0)
SCS=1
MCS=0
STP=1
動作
動作
停止
停止
停止
前の状態
を保持
外部
リセット
割込み *1
擬似時計
(SPL=1)
SCS=1
MCS=0
STP=1
動作
動作
停止
停止
停止
Hi-Z
外部
リセット
割込み *1
時計
(SPL=0)
SCS=x
MCS=x
TMD=0
動作
停止
停止
停止
停止
前の状態
を保持
外部
リセット
割込み *2
時計
(SPL=1)
SCS=x
MCS=x
TMD=0
動作
停止
停止
停止
停止
Hi-Z
外部
リセット
割込み *2
ストップ
(SPL=0)
MCS=1
or SCS=0
STP=1
停止
停止
停止
停止
停止
前の状態
を保持
外部
リセット
割込み *3
ストップ
(SPL=1)
MCS=1
or SCS=0
STP=1
停止
停止
停止
停止
停止
Hi-Z
外部
リセット
割込み *3
ハードウェア
スタンバイ
HST=L
停止
停止
停止
停止
停止
Hi-Z
HST="H"
*1: 時計タイマ , タイムベースタイマおよび外部割込み
*2: 時計タイマおよび外部割込み
*3: 外部割込み
102
第 6 章 低消費電力モード
表 6.1-2 低消費電力モード動作状態 (1 系統品 )
遷移条件
サブ発振
メイン
発振
マシン
クロック
CPU
周辺
端子
解除方法
メイン
スリープ
SCS=1
MCS=1
SLP=1
-
動作
動作
停止
動作
動作
外部
リセット
割込み
PLL
スリープ
SCS=1
MCS=0
SLP=1
-
動作
動作
停止
動作
動作
外部
リセット
割込み
擬似時計
(SPL=0)
SCS=1
MCS=0
STP=1
-
動作
停止
停止
停止
保持
外部
リセット
割込み *1
擬似時計
(SPL=1)
SCS=1
MCS=0
STP=1
-
動作
停止
停止
停止
Hi-Z
外部
リセット
割込み *1
ストップ
(SPL=0)
SCS=1
MCS=1
STP=1
-
停止
停止
停止
停止
保持
外部
リセット
割込み *2
ストップ
(SPL=1)
SCS=1
MCS=1
STP=1
-
停止
停止
停止
停止
Hi-Z
外部
リセット
割込み *2
ハードウェア
スタンバイ
HST=L
-
停止
停止
停止
停止
Hi-Z
HST="H"
*1: タイムベースタイマおよび外部割込み
*2: 外部割込み
103
第 6 章 低消費電力モード
スリープモード
6.1.1
スリープモードとは , CPU に供給するクロックのみを停止するモードで , CPU は停
止し , 内部周辺リソース回路は動作を続けます。
■ スリープモードへの遷移
低消費電力モード制御レジスタ (LPMCR) 内の SLP ビットに "1", TMD ビットに "1", STP
ビットに "0" を書き込むことによりスリープモードへの遷移が始まります。
SLP ビットに , "1" を書き込んだときに割込み要求が発生しているとスタンバイ制御回
路はスリープモードへ遷移しません。そのため , CPU は割込みを受け付けない状態で
は次の命令を実行し,受け付ける状態であれば即座に割込み処理ルーチンの分岐を行い
ます。
スリープモードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持し
ます。
■ スリープモードの解除
スタンバイ制御回路は,リセット信号入力または割込み要求の発生によりスリープモー
ドを解除します。リセット要因によりスリープモードを解除した場合は , スリープモー
ドを解除した上でリセット状態になります。
スリープモード中に周辺回路および内蔵リソース回路から割込みレベルが 7 より強い
割込み要求が発生すると , スタンバイ制御回路はスリープモードを解除します。スリー
プモードの解除後は , 通常の割込み処理と同じ扱いとなります。コンディションコード
レジスタ (CCR) 内の I フラグ , 割込みレベルマスクレジスタ (ILM) と割込み制御レジス
タ (ICR) の設定により割込みが受け付けられるとき , CPU はスタンバイ書込み保留で
ない命令を実行後に割込み処理を実行します。割込みが受け付けられないときは , ス
リープモードに入れた命令の次の命令から処理を続行します。
<注意事項>
サブスリープモードから外部リセット端子 (RST 端子 ) にてメインクロックモードへ復帰
する場合は , サブクロックの 2 マシンサイクル以上 "L" レベルを入力してください。
104
第 6 章 低消費電力モード
6.1.2
擬似時計モード
擬似時計モードとは , 原発振 ( メインおよびサブ ) と時計タイマとタイムベースタイ
マ以外の動作を止めるモードであり , MB90540/545 のほぼ全機能が停止します。
■ 擬似時計モードへの遷移
クロック選択レジスタ (CKSCR) の SCS ビットに "1", MCS ビットに "0", 低消費電力モー
ド制御レジスタ (LPMCR) 内の TMD ビットに "1", STP ビットに "1" を書き込むことに
より擬似時計モードへの遷移が始まります。
また , 擬似時計モード中の I/O 端子を直前の状態に保持するのか , ハイインピーダンス
状態にするのか , 低消費電力モード制御レジスタ (LPMCR) 内の SPL ビットにより制御
できます。
STP ビットに "1" を書き込んだときに割込み要求が発生している場合は , スタンバイ制
御回路は擬似時計モードに遷移しません。
擬似時計モードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持し
ます。
■ 擬似時計モードの解除
スタンバイ制御回路は,リセット信号入力または割込み要求の発生により擬似時計モー
ドを解除します。リセット要因により擬似時計モードを解除した場合は , 擬似時計モー
ドを解除した上で , リセット状態になります。
擬似時計モードからの復帰の場合 , スタンバイ制御回路はまず擬似時計モードを解除し ,
その後 PLL クロック発振安定待ち状態に遷移します。擬似時計モードからの解除が割込
み要求で始まったときには , リセットシーケンスはメインクロックを使用して行われま
す。
周辺リソース回路から割込みレベルが 7 より強い割込み要求が発生すると , スタンバイ
制御回路は擬似時計モードを解除します。擬似時計モードの解除後は , 通常の割込み処
理と同じ扱いとなります。コンディションコードレジスタ (CCR) の I フラグ , 割込みレ
ベルマスクレジスタ (ILM) と割込み制御レジスタ (ICR) の設定により割込みが受け付
けられるときは , CPU はスタンバイ書込み命令の次の書込み保留でない命令を実行後
に割込み処理を実行します。割込みが受け付けられないときは擬似時計モードに入る
前の次の命令から処理を続行します。
<注意事項> (MB90543G(S)/547G(S)/548G(S) のみ )
• 擬似時計モードから外部リセット端子 (RST 端子 ) にてメインクロックモードへ復帰す
る場合は , 100 µs 以上 "L" レベルを入力してください。
• 割込みにより擬似時計モードから復帰する場合は , 割込み要求受付け後最大 80 µs 経過
後割込み処理が行われます。
105
第 6 章 低消費電力モード
時計モード
6.1.3
時計モードとは , サブ原発振と時計タイマ以外の動作を止めるモードであり , MB90540/545 のほぼ全機能が停止します。
なお , 時計モードは 1 系統品では使用できません。
■ 時計モードへの遷移
クロック選択レジスタ (CKSCR) 内の TMD ビットに "0" を書き込むことにより時計モー
ドへの遷移が始まります。
また , 時計モード中の I/O 端子を直前の状態に保持するのか , ハイインピーダンス状態
にするのかを , 低消費電力モード制御レジスタ (LPMCR) 内の SPL ビットにより制御で
きます。
TMD ビットに "1" を書き込んだときに割込み要求が発生している場合は , スタンバイ
制御回路は時計モードに遷移しません。
時計モードでは,アキュムレータなどの専用レジスタと内部RAMの内容を保持します。
■ 時計モードの解除
スタンバイ制御回路は , リセット信号入力または割込みの発生により時計モードを解除
します。リセット要因により時計モードを解除した場合は , 時計モードを解除した上で ,
リセット状態になります。
サブ時計モードからの復帰の場合 , スタンバイ制御回路は時計モードを解除し , 即座に
サブクロックモードに遷移します。サブ時計モードからの解除がリセット要因であっ
たときには , リセットシーケンスはサブクロック信号を使用して行われます。
メイン時計モードおよび PLL 時計モードからの復帰の場合 , スタンバイ制御回路はま
ず時計モードを解除し , その後メインクロック発振安定待ち状態に遷移します。時計
モードからの解除がリセット要因であったときには,リセットシーケンスはサブクロッ
ク信号を使用して行われます。
周辺リソース回路などから割込みレベルが "7" より強い割込み要求が発生すると , スタ
ンバイ制御回路は時計モードを解除します。時計モードの解除後は , 通常の割込み処理
と同じ扱いとなります。コンディションコードレジスタ (CCR) 内の I フラグ , 割込みレ
ベルマスクレジスタ (ILM) と割込み制御レジスタ (ICR) の設定により割込みが受け付
けられるときは , CPU はスタンバイ書込み命令の次の書込み保留でない命令を実行後
に割込み処理を実行します。割込みが受け付けられないときは時計モードに入る前の
次の命令から処理を続行します。
<注意事項>
時計モードから外部リセット端子 ( RST 端子 ) にてメインクロックモードへ復帰する場合
は , サブクロックの 2 マシンサイクル以上 "L" レベルを入力してください。
106
第 6 章 低消費電力モード
6.1.4
ストップモード
ストップモードとは , 原発振 ( メインおよびサブ ) を止めるモードであり ,
MB90540/545 の全デバイス機能が停止します。したがって , もっとも低消費電力で
データを保持することができます。
■ ストップモードへの遷移
クロック制御レジスタ内の SCS ビットに "0" または MCS ビットに "1", 低消費電力モー
ド制御レジスタ (LPMCR) 内の STP ビットに "1" を書き込むことによりスタンバイ制御
回路をストップモードに遷移します。
また , I/O 端子を直前の状態に保持するのか , ハイインピーダンス状態にするのか , 低
消費電力モード制御レジスタ (LPMCR) 内の SPL ビットにより制御できます。
STP ビットに "1" を書き込んだときに割込み要求が発生している場合は , スタンバイ制
御回路はストップモードに遷移しません。
ストップモードでは , アキュムレータなどの専用レジスタと内部 RAM の内容を保持し
ます。
■ ストップモードの解除
スタンバイ制御回路は,リセット信号入力または割込みの発生によりストップモードを
解除します。リセット要因によりストップモードを解除した場合は , ストップモードを
解除した上で , リセット状態になります。
サブストップモードからの復帰の場合,スタンバイ制御回路はまずサブクロック発振安
定待ちモードに遷移し , その後ストップモードを解除します。ストップモードからの解
除がリセット要因であったときには,リセットシーケンスはサブクロック発振安定待ち
時間経過後実行されます。
メインストップモードからの復帰の場合,スタンバイ制御回路はまずメインクロック発
振安定待ちモードに遷移し , その後ストップモードを解除します。ストップモードから
の解除がリセット要因であったときには,リセットシーケンスはメインクロック発振安
定待ち時間経過後実行されます。
ストップモード中に周辺回路またはほかのソースから割込みレベルが 7 より強い割込
み要求が発生すると , ストップモードから MB90540/545 を解除します。サブストップ
モードの解除後は , サブクロックの発振安定待ち時間が適用され , 通常の割込み処理と
同じ扱いとなります。コンディションコードレジスタ (CCR) 内の I フラグ , 割込みレベ
ルマスクレジスタ (ILM) と割込み制御レジスタ (ICR) の設定により割込みが受け付け
られるときは , CPU はスタンバイ書込み命令の次の書込み保留でない命令を実行後に
割込み処理を実行します。割込みが受け付けられないときはストップモードに入る前
の次の命令から処理を続行します。
メインストップモードの解除後は , クロック選択レジスタ (CKSCR) 内の WS1, 0 ビット
で指定された発振安定待ち時間を経過した後で,通常の割込み処理と同じ扱いとなりま
す。コンディションコードレジスタ (CCR) 内の I フラグ , 割込みレベルマスクレジスタ
(ILM) と割込み制御レジスタ (ICR) の設定により割込みが受け付けられるときは , CPU
はスタンバイ書込み命令の次の書込み保留でない命令を実行後に割込み処理に分岐し
ます。割込みが受け付けられないときはストップモードに入る前の次の命令から処理
を続行します。
107
第 6 章 低消費電力モード
<注意事項>
ストップモードから外部リセット端子 (RST 端子 ) にてメインクロックモードへ復帰する
場合は , 振動子の発振時間 *+4 マシンサイクル以上 "L" レベルを入力してください。
*:振動子の発振時間は , 振幅が 90 % に達する時間です。水晶発振子は数 ms ∼数十 ms,
FAR/ セラミック発振子は数百 µs ∼数 ms, 外部クロックは 0 ms となります。
108
第 6 章 低消費電力モード
6.1.5
ハードウェアスタンバイモード
ハードウェアスタンバイモードとは , リセットを含むほかの状態に関係なく HST 端
子が "L" レベルの間 , 発振を停止させ , I/O 端子をすべてハイインピーダンス状態に
するモードです。
■ ハードウェアスタンバイモードへの遷移
HST 端子を "L" レベルにすることにより , どんなモードからでもスタンバイ制御回路を
ハードウェアスタンバイモードに遷移することができます。
ハードウェアスタンバイモードでは内部 RAM の内容は保持されますが , アキュムレー
タなどの専用レジスタは初期値にリセットされます。
■ ハードウェアスタンバイモードの解除
ハードウェアスタンバイモードの解除は , HST 端子によってのみ解除することができ
ます。HST 端子を "H" レベルにすると , スタンバイ制御回路をハードウェアスタンバ
イモードから解除し , 内部リセット信号を有効にした後 , 発振安定待ちモードに遷移し
ます。さらに , メインクロック発振安定待ち時間の経過後 , スタンバイ制御回路は内部
リセットを解除し , その結果 , CPU はリセットシーケンスから実行を開始します。
ハードウェアスタンバイモードの発振安定待ち時間は , G サフィックス付きの製品で
は , 原発振の 218 カウント固定であり , G サフィックスなしの製品ではクロック選択レ
ジスタ (CKSCR) の WS1, WS0 ビットにより決定されます。
109
第 6 章 低消費電力モード
6.1.6
CPU 間欠動作
CPU 間欠動作機能は , レジスタ , 内部メモリ (ROM, RAM, I/O, リソース ) または外
部バスにアクセスしたときに , 内部バスサイクルの活動を遅らせて CPU に供給され
るクロックを停止させます。高速度クロックが内部リソースに供給されている間 ,
CPU 実行速度は落ちるので , 低消費電力での処理が可能になります。クロック停止
のサイクルカウントは CG1 および CG0 ビットで指定されます。
外部バス動作自体は , リソースと同じクロックを使用して行われます。
■ CPU 間欠動作
CPU 間欠動作機能を使用しての命令実行時間は , 通常の実行時間に補正値を加えて求
めます。補正値はレジスタ , 内部メモリ , 内部リソース , 外部バスへのアクセス数に停
止のサイクルカウント数を乗じて求めます。
110
第 6 章 低消費電力モード
6.2
低消費電力モードの状態遷移
低消費電力モードでは , クロック選択レジスタや低消費電力モード制御レジスタの設
定条件によって各状態が遷移します。
■ 低消費電力モードの遷移条件
以下に , 表と図で使用されている記号の意味を説明します。
• MCS:MCS ビット ( クロック選択レジスタ )(MCS=0 で PLL クロックモード選択 )
• SCS:SCS ビット ( クロック選択レジスタ )(SCS=0 でサブクロックモード選択 )
• STP:STP ビット ( 低消費電力モード制御レジスタ )(STP=1 でストップモード選択 )
• SLP:SLP ビット ( 低消費電力モード制御レジスタ )(SLP=1 でスリープモード選択 )
• TMD:TMD ビット ( 低消費電力モード制御レジスタ )(TMD=0 で時計モード選択 )
• MCM:MCM ビット ( クロック選択レジスタ )(MCM=0 で PLL クロック使用中 )
• SCM:SCM ビット ( クロック選択レジスタ )(SCM=0 でサブクロック使用中 )
• SCD: サブクロック発振停止 (SCD=1 で , サブクロック発振停止 )
• MCD: メインクロック発振停止 (MCD=1 で , メインクロック発振停止 )
• PCD:PLL クロック発振停止 (PCD=1 で , PLL クロック発振停止 )
表 6.2-1 2 系統品の遷移条件一覧表 (1 / 3)
遷移前の状態
遷移条件
遷移後の状態
パワーオン
01 メイン発振安定待ち時間終了
メインモード
メイン発振安定
05 メイン発振安定待ち時間終了
メインモード
メインモード
06 SCS=0 書込み
MS 遷移モード
07 SCS=1 ・MCS=0 書込み
MP 遷移モード
31 TMD=1 ・STP=0 ・SLP=1 書込み
メインスリープモード
32 TMD=0 書込み
メイン時計遷移モード
33 TMD=1 ・STP=1 書込み
PLL モード
21 SCS=0 書込み
PS 遷移モード
20 SCS=1 ・MCS=1 書込み
PM 遷移モード
59 TMD=1 ・STP=0 ・SLP=1 書込み
58 TMD=0 書込み
サブモード
メインストップ
PLL スリープモード
PLL 時計遷移 P
57 TMD=1 ・STP=1 書込み
擬似時計遷移モード
10 SCS=1 ・MCS=1 書込み
SM 遷移モード
12 SCS=1 ・MCS=0 書込み
SP 遷移モード
11 リセット起動
42 TMD=1 ・STP=0 ・SLP=1 書込み
43 TMD=0 書込み
44 TMD=1 ・STP=1 書込み
メイン発振安定
サブスリープモード
サブ時計モード
サブストップモード
111
第 6 章 低消費電力モード
表 6.2-1 2 系統品の遷移条件一覧表 (2 / 3)
遷移前の状態
遷移条件
13 PLL →メイン切換え待ち終了
38 TMD=1 ・STP=0 ・SLP=1 書込み
PM 遷移モード
メイン時計遷移モード
40 TMD=1 ・STP=1 書込みおよび PLL →メイン切換え待ち
終了
メインストップモード
02 メイン発振安定待ち時間終了
04 SCS=0 書込み
27 TMD=1 ・STP=0 ・SLP=1 書込み
28 TMD=0 書込みおよびメイン発振安定待ち時間終了
29 TMD=1 ・STP=1 書込みおよびメイン発振安定待ち時間
終了
16 PLL 発振安定待ち時間終了
14 SCS=1 ・MCS=1 書込み
MP 遷移モード
15 SCS=0 書込み
68 TMD=1 ・STP=0 ・SLP=1 書込み
70 TMD=0 書込み
PLL スリープモード
MP 遷移スリープ
SP 遷移スリープ
112
メインストップモード
PLL モード
メインモード
MS 遷移モード
MP 遷移スリープモード
PLL 時計遷移モード
SM 遷移モード
75 TMD=1 ・STP=0 ・SLP=1 書込み
メイン発振安定
SP 遷移スリープモード
76 TMD=0 書込み
PLL 時計モード
78 TMD=1 ・STP=1 書込みおよびメイン発振安定待ち時間
終了
擬似時計モード
51 TMD=1 ・STP=0 ・SLP=1 書込み
サブモード
メインモード
MS 遷移スリープモード
サブ時計モード
サブストップモード
23 PLL →メインクロック切換え待ち終了
MS 遷移モード
22 SCS=1 書込み
PM 遷移モード
56 TMD=1 ・STP=0 ・SLP=1 書込み
PM 遷移スリープ
メイン時計モード
18 MCS=1 書込み
53 TMD=1 ・STP=1 書込みおよびメイン→サブ切換え待ち
終了
SM 遷移スリープ
SM 遷移スリープモード
MP 遷移モード
52 TMD=0 書込みおよびメイン→サブ切換え待ち終了
メインスリープ
サブモード
17 メイン発振安定待ち時間終了
08 リセット起動
PS 遷移モード
メイン発振安定
擬似時計モード
09 メイン→サブクロック切換え待ち終了
MS 遷移モード
メインモード
69 TMD=1 ・STP=1 書込み
19 リセット起動
SP 遷移モード
メインモード
PM 遷移スリープモード
39 TMD=0 書込みおよび PLL →メイン切換え待ち終了
03 リセット起動または割込み
SM 遷移モード
遷移後の状態
26 割込みまたはリセット起動
PS 遷移スリープモード
メインモード
24 メイン発振安定待ち時間終了
メインスリープ
25 割込みまたはリセット起動
SM 遷移モード
34 PLL →メインクロック切換え待ち終了
35 割込みまたはリセット起動
メインスリープモード
PM 遷移モード
63 割込みまたはリセット起動
PLL モード
66 PLL 発振安定待ち時間終了
PLL スリープモード
67 割込みまたはリセット起動
MP 遷移モード
73 メイン発振安定待ち時間終了
74 割込みまたはリセット起動
MP 遷移スリープ
SP 遷移モード
第 6 章 低消費電力モード
表 6.2-1 2 系統品の遷移条件一覧表 (3 / 3)
遷移前の状態
遷移条件
46 割込みまたはリセット起動
サブスリープ
MS 遷移スリープ
PS 遷移スリープ
メイン時計
メイン時計遷移
PLL 時計
PLL 時計遷移 M
PLL 時計遷移 P
49 メイン→サブクロック切換え待ち終了
50 割込みまたはリセット起動
54 PLL →メインクロック切換え待ち終了
遷移後の状態
サブモード
サブスリープモード
MS 遷移モード
MS 遷移スリープモード
55 割込みまたはリセット起動
PS 遷移モード
30 割込みまたはリセット起動
SM 遷移モード
36 メイン→サブクロック切換え待ち終了
メイン時計
37 割込みまたはリセット起動
メインモード
77 割込みまたはリセット起動
SP 遷移モード
72 メイン→サブクロック切換え待ち終了
PLL 時計
71 割込みまたはリセット起動
MP 遷移モード
65 PLL →メインクロック切換え待ち終了
PLL 時計遷移 M
64 割込みまたはリセット起動
PLL モード
サブ時計
47 割込みまたはリセット起動
サブモード
メインストップ
41 割込みまたはリセット起動
メイン発振安定
62 割込みまたはリセット起動
MP 遷移モード
61 PLL →メインクロック切換え待ち終了
擬似時計モード
擬似時計
擬似時計遷移
サブストップ
サブ発振安定
60 割込みまたはリセット起動
48 割込み
79 リセット起動
45 サブクロック発振安定待ち時間終了
80 リセット起動
PLL モード
サブ発振安定
メイン発振安定
サブモード
メイン発振安定
<注意事項>
• ストップモードから外部リセット端子 (RST 端子 ) にてメインクロックモードへ復帰す
る場合は , 振動子の発振時間 *+4 マシンサイクル以上 "L" レベルを入力してください。
*:振動子の発振時間は , 振幅が 90% に達する時間です。水晶発振子は数 ms ∼数十
ms, FAR/ セラミック発振子は数百 µs ∼数 ms, 外部クロックは 0 ms となります。
• サブクロックモード , サブスリープモードおよび時計モードから外部リセット端子 (RST
端子 ) にてメインクロックモードへ復帰する場合は , サブクロックの 2 マシンサイクル以
上 "L" レベルを入力してください。
113
第 6 章 低消費電力モード
表 6.2-2 1 系統品の状態遷移条件一覧表
遷移前の状態
遷移条件
パワーオン
01 メイン発振安定待ち時間終了
メイン発振安定
05 メイン発振安定待ち時間終了
メインモード
PLL モード
31 TMD=1・STP=0・SLP=1 書込み
メインスリープ
33 TMD=1・STP=1 書込み
メインストップ
20 SCS=1・MCS=1 書込み
PM 遷移モード
59 TMD=1・STP=0・SLP=1 書込み
38 TMD=1・STP=0・SLP=1 書込み
16 PLL 発振安定待ち時間終了
14 SCS=1・MCS=1 書込み
68 TMD=1・STP=0・SLP=1 書込み
69 TMD=1・STP=1 書込み
メインスリープ
メインモード
MP 遷移モード
40 TMD=1・STP=1 書込み & PLL →メイン切換えタイミン
グ待ち終了
MP 遷移モード
メインモード
07 SCS=1・MCS=0 書込み
13 PLL →メイン切換えタイミング待ち終了
PM 遷移モード
遷移後の状態
26 割込みまたはリセット起動
PLL スリープ
メインモード
PM 遷移スリープ
メインストップ
PLL モード
メインモード
MP 遷移スリープ
擬似時計モード
メインモード
34 PLL →メインクロック切換えタイミング待ち終了
メインスリープ
35 割込みまたはリセット起動
PM 遷移モード
63 割込みまたはリセット起動
PLL モード
66 PLL 発振安定待ち時間終了
PLL スリープ
67 割込みまたはリセット起動
MP 遷移モード
メインストップ
41 割込みまたはリセット起動
メイン発振安定
擬似時計
62 割込みまたはリセット起動
MP 遷移モード
61 PLL →メインクロック切換えタイミング待ち終了
擬似時計モード
PM 遷移スリープ
PLL スリープ
MP 遷移スリープ
擬似時計遷移
60 割込みまたはリセット起動
PLL モード
<注意事項>
ストップモードから外部リセット端子 (RST 端子 ) にてメインクロックモードへ復帰する
場合は , 振動子の発振時間 *+4 マシンサイクル以上 "L" レベルを入力してください。
*:振動子の発振時間は , 振幅が 90% に達する時間です。水晶発振子は数 ms ∼数十 ms,
FAR/ セラミック発振子は数百 µs ∼数 ms, 外部クロックは 0 ms となります。
114
第 6 章 低消費電力モード
6.3
低消費電力モード状態遷移図
図 6.3-1 ∼図 6.3-7 に状態遷移図を示します。状態遷移図では , 複雑になるのを避け
るために , 同時に発生した事象を段階的に遷移する図になっています。実際には , 即
座に状態の遷移は行われます。
■ 低消費電力モード状態遷移図 (2 系統品 )
簡潔にするため , 状態遷移図では , 同時に発生しているイベントを段階的な遷移として
表しています。しかし実際には , 状態遷移は即座に行われます。
状態遷移図を例にすると , PLL クロックモードで MCS=1, SLP=1 を同時に設定した場合
に , 状態遷移図では , 一度 PM 遷移モードに遷移した後に , PM 遷移スリープに遷移す
ることになっていますが , 実際には , 即座に PLL クロックモードから PM 遷移スリープ
に遷移します。また , サブスリープモードで , リセットが起動された場合に , 一度サブ
モードに遷移した後に , メイン発振安定時間に遷移することになっていますが , 実際に
は , 即座にサブスリープモードからメイン発振安定時間に遷移します。
<注意事項>
• ストップモードから外部リセット端子 (RST 端子 ) にてメインクロックモードへ復帰す
る場合は , 振動子の発振時間 *+4 マシンサイクル以上 "L" レベルを入力してください。
*:振動子の発振時間は , 振幅が 90% に達する時間です。水晶発振子は数 ms ∼数十 ms,
FAR/ セラミック発振子は数百 µs ∼数 ms, 外部クロックは 0 ms となります。
• サブクロックモード , サブスリープモードおよび時計モードから外部リセット端子
(RST 端子 ) にてメインクロックモードへ復帰する場合は , サブクロックの 2 マシンサ
イクル以上 "L" レベルを入力してください。
115
第 6 章 低消費電力モード
図 6.3-1 低消費電力モード状態遷移図 (2 系統品 )A
パワーオンリセット
SCS=1, MCS=1,
STP=0, SLP=0,
TMD=1
SCM=1, MCM=1,
SCD=0, MCD=0,
PCD=1
02
SM遷移モード
SCS=1, MCS=1,
STP=0, SLP=0,
TMD=1
SCM=0, MCM=1,
SCD=0, MCD=0,
PCD=1
03
メイン発振安定時間
SCS=1, MCS=1,
STP=0, SLP=0,
TMD=1
SCM=1, MCM=1,
SCD=0, MCD=0,
PCD=1
04
01
05
10
11
メインモード
SCS=1, MCS=1,
STP=0, SLP=0,
TMD=1
SCM=1, MCM=1,
SCD=0, MCD=0,
PCD=1
06
08
MS遷移モード
SCS=0, MCS=x,
STP=0, SLP=0,
TMD=1
SCM=1, MCM=1,
SCD=0, MCD=0,
PCD=1
サブモード
SCS=0, MCS=x,
STP=0, SLP=0,
TMD=1
SCM=0, MCM=1,
SCD=0, MCD=1,
PCD=1
09
07
12
18
13
PM遷移モード
SCS=1, MCS=1,
STP=0, SLP=0,
TMD=1
SCM=1, MCM=0,
SCD=0, MCD=0,
PCD=1
19
15
14
MP遷移モード
SCS=1, MCS=0,
STP=0, SLP=0,
TMD=1
SCM=1, MCM=1,
SCD=0, MCD=0,
PCD=0
SP遷移モード
SCS=1, MCS=0,
STP=0, SLP=0,
TMD=1
SCM=0, MCM=1,
SCD=0, MCD=0,
PCD=1
17
16
23
20
PLL モード
SCS=1, MCS=0,
STP=0, SLP=0,
TMD=1
SCM=1, MCM=0,
SCD=0, MCD=0,
PCD=0
116
22
21
PS遷移モード
SCS=0, MCS=x,
STP=0, SLP=0,
TMD=1
SCM=1, MCM=0,
SCD=0, MCD=0,
PCD=0
第 6 章 低消費電力モード
図 6.3-2 低消費電力モード状態遷移図 (2 系統品 )B
SM遷移スリープ
SCS=1, MCS=1,
STP=0, SLP=1,
TMD=1
SCM=0, MCM=1,
SCD=0, MCD=0,
PCD=1
メインスリープ
SCS=1, MCS=1,
STP=0, SLP=1,
TMD=1
SCM=1, MCM=1,
SCD=0, MCD=0,
PCD=1
24
26
25
27
SM遷移モード
SCS=1, MCS=1,
STP=0, SLP=0,
TMD=1
SCM=0, MCM=1,
SCD=0, MCD=0,
PCD=1
31
28
30
29
メイン時計
SCS=1, MCS=1,
STP=0, SLP=0,
TMD=0
SCM=0, MCM=1,
SCD=0, MCD=1,
PCD=1
32
03
メインモード
SCS=1, MCS=1,
STP=0, SLP=0,
TMD=1
SCM=1, MCM=1,
SCD=0, MCD=1,
PCD=1
33
37
34
36
PM遷移スリープ
SCS=1, MCS=1,
STP=0, SLP=1,
TMD=1
SCM=1, MCM=0,
SCD=0, MCD=0,
PCD=0
05
メイン時計遷移
SCS=1, MCS=1,
STP=0, SLP=0,
TMD=0
SCM=1, MCM=1,
SCD=0, MCD=0,
PCD=1
メイン発振安定時間
SCS=1, MCS=1,
STP=0, SLP=0,
TMD=1
SCM=1, MCM=1,
SCD=0, MCD=0,
PCD=1
35
38
39
PM遷移モード
SCS=1, MCS=1,
STP=0, SLP=0,
TMD=1
SCM=1, MCM=0,
SCD=0, MCD=0,
PCD=0
40
メインストップ
SCS=1, MCS=1,
STP=1, SLP=0,
TMD=1
SCM=1, MCM=1,
SCD=1, MCD=1,
PCD=1
41
117
第 6 章 低消費電力モード
図 6.3-3 低消費電力モード状態遷移図 (2 系統品 )C
サブモード
SCS=0, MCS=x,
STP=0, SLP=0,
TMD=1
SCM=0, MCM=1,
SCD=0, MCD=1,
PCD=1
42
44
45 サブ発振安定時間
SCS=0, MCS=x,
STP=0, SLP=0,
TMD=1
SCM=0, MCM=1,
SCD=0, MCD=1,
PCD=1
80
メイン発振安定時間
SCS=1, MCS=x,
STP=0, SLP=0,
TMD=1
SCM=1, MCM=1,
SCD=0, MCD=0,
PCD=1
43
46
48
サブスリープ
SCS=0, MCS=x,
STP=0, SLP=1,
TMD=1
SCM=0, MCM=1,
SCD=0, MCD=1,
PCD=1
47
49
MS遷移スリープ
SCS=0, MCS=x,
STP=0, SLP=1,
TMD=1
SCM=1, MCM=1,
SCD=0, MCD=0,
PCD=1
サブ時計
SCS=0, MCS=x,
STP=0, SLP=0,
TMD=0
SCM=0, MCM=1,
SCD=0, MCD=1,
PCD=1
52
51
50
79
サブストップ
SCS=0, MCS=x,
STP=1, SLP=0,
TMD=1
SCM=0, MCM=1,
SCD=1, MCD=1,
PCD=1
53
MS遷移モード
SCS=0, MCS=x,
STP=0, SLP=0,
TMD=1
SCM=1, MCM=1,
SCD=0, MCD=0,
PCD=1
23
54
PM遷移スリープ
SCS=1, MCS=x,
STP=0, SLP=1,
TMD=1
SCM=1, MCM=0,
SCD=0, MCD=0,
PCD=0
118
56
55
PM遷移モード
SCS=0, MCS=x,
STP=0, SLP=0,
TMD=1
SCM=1, MCM=0,
SCD=0, MCD=0,
PCD=0
第 6 章 低消費電力モード
図 6.3-4 低消費電力モード状態遷移図 (2 系統品 )D
PLL モード
SCS=1, MCS=0,
STP=0, SLP=0,
TMD=1
SCM=1, MCM=0,
SCD=0, MCD=0,
PCD=0
60
57
58
疑似時計遷移
SCS=1, MCS=0,
STP=1, SLP=0,
TMD=1
SCM=1, MCM=1,
SCD=0, MCD=0,
PCD=0
61
62
疑似時計モード
SCS=1, MCS=0,
STP=1, SLP=0,
TMD=1
SCM=1, MCM=1,
SCD=0, MCD=0,
PCD=1
59
64
63
PLL スリープ
SCS=1, MCS=0,
STP=0, SLP=1,
TMD=1
SCM=1, MCM=0,
SCD=0, MCD=0,
PCD=1
PLL 時計遷移 P
SCS=1, MCS=0,
STP=0, SLP=0,
TMD=0
SCM=1, MCM=0,
SCD=0, MCD=0,
PCD=0
65
16
66
MS遷移スリープ
SCS=1, MCS=0,
STP=0, SLP=1,
TMD=1
SCM=1, MCM=1,
SCD=0, MCD=0,
PCD=0
69
68
67
MP遷移モード
SCS=1, MCS=0,
STP=0, SLP=0,
TMD=1
SCM=1, MCM=1,
SCD=0, MCD=0,
PCD=0
71
70
PLL 時計遷移 M
SCS=1, MCS=0,
STP=0, SLP=0,
TMD=0
SCM=1, MCM=1,
SCD=0, MCD=0,
PCD=1
78
73
SP遷移スリープ
SCS=1, MCS=0,
STP=0, SLP=1,
TMD=1
SCM=0, MCM=1,
SCD=0, MCD=0,
PCD=1
17
75
74
SP遷移モード
SCS=1, MCS=0,
STP=0, SLP=0,
TMD=1
SCM=0, MCM=1,
SCD=0, MCD=0,
PCD=1
72
77
76
PLL 時計
SCS=1, MCS=0,
STP=0, SLP=0,
TMD=0
SCM=0, MCM=1,
SCD=0, MCD=1,
PCD=1
<注意事項>
クロックモードを切り換えた場合 , 切換えが完了するまでは , ほかのクロックモードおよ
び低消費電力モードへの切換えを行わないでください。切換えの完了はクロック選択レジ
スタ (CKSCR) の MCM ビットおよび SCM ビットを参照して確認してください。切換え
が完了する前に , ほかのクロックモードおよび低消費電力モードへの切換えを行った場
合 , 切り換わらない場合があります。
119
第 6 章 低消費電力モード
■ 低消費電力モード状態遷移図 (1 系統品 )
図 6.3-5 低消費電力モード状態遷移図 (1 系統品 )1
パワーオンリセット
SCS=1,MCS=1
STP=0,SLP=0
TMD=1
SCM=1,MCM=1
SCD=0,MCD=0
PCD=1
メイン発振安定時間
SCS=1,MCS=1
STP=0,SLP=0
TMD=1
SCM=1,MCM=1
SCD=0,MCD=0
PCD=1
05
01
メインモード
SCS=1,MCS=1
STP=0,SLP=0
TMD=1
SCM=1,MCM=1
SCD=0,MCD=0
PCD=1
13
PM遷移モード
SCS=1,MCS=1
STP=0,SLP=0
TMD=1
SCM=1,MCM=0
SCD=0,MCD=0
PCD=0
07
14
MP遷移モード
SCS=1,MCS=0
STP=0,SLP=0
TMD=1
SCM=1,MCM=1
SCD=0,MCD=0
PCD=0
16
20
PLLモード
SCS=1,MCS=0
STP=0,SLP=0
TMD=1
SCM=1,MCM=0
SCD=0,MCD=0
PCD=0
120
第 6 章 低消費電力モード
図 6.3-6 低消費電力モード状態遷移図 (1 系統品 )2
メインスリープ
SCS=1,MCS=1
STP=0,SLP=1
TMD=1
SCM=1,MCM=1
SCD=0,MCD=0
PCD=1
26
31
メインモード
SCS=1,MCS=1
STP=0,SLP=0
TMD=1
SCM=1,MCM=1
SCD=0,MCD=0
PCD=1
33
34
05
メイン発振安定時間
SCS=1,MCS=1
STP=0,SLP=0
TMD=1
SCM=1,MCM=1
SCD=0,MCD=0
PCD=1
PM遷移スリープ
SCS=1,MCS=1
STP=0,SLP=1
TMD=1
SCM=1,MCM=0
SCD=0,MCD=0
PCD=0
35
38
PM遷移モード
SCS=1,MCS=1
STP=0,SLP=0
TMD=1
SCM=1,MCM=0
SCD=0,MCD=0
PCD=0
40
メインストップ
SCS=1,MCS=1
STP=1,SLP=0
TMD=1
SCM=1,MCM=1
SCD=1,MCD=1
PCD=1
41
121
第 6 章 低消費電力モード
図 6.3-7 低消費電力モード状態遷移図 (1 系統品 )3
PLLモード
SCS=1,MCS=0
STP=0,SLP=0
TMD=1
SCM=1,MCM=0
SCD=0,MCD=0
PCD=0
57
60 擬似時計遷移
SCS=1,MCS=0
STP=1,SLP=0
TMD=1
SCM=1,MCM=1
SCD=0,MCD=0
PCD=1
61
62
擬似時計モード
SCS=1,MCS=0
STP=1,SLP=0
TMD=1
SCM=1,MCM=1
SCD=0,MCD=0
PCD=1
59
63
PLLスリープ
SCS=1,MCS=0
STP=0,SLP=1
TMD=1
SCM=1,MCM=0
SCD=0,MCD=0
PCD=0
16
69
66
MS遷移スリープ
SCS=1,MCS=0
STP=0,SLP=1
TMD=1
SCM=1,MCM=1
SCD=0,MCD=0
PCD=0
68
67
MP遷移モード
SCS=1,MCS=0
STP=0,SLP=0
TMD=1
SCM=1,MCM=1
SCD=0,MCD=0
PCD=0
<注意事項>
クロックモードを切り換えた場合 , 切換えが完了するまでは , ほかのクロックモードおよ
び低消費電力モードへの切換えを行わないでください。切換えの完了はクロック選択レジ
スタ (CKSCR) の MCM ビットおよび SCM ビットを参照して確認してください。切換え
が完了する前に , ほかのクロックモードおよび低消費電力モードへの切換えを行った場
合 , 切り換わらない場合があります。
122
第7章
メモリアクセスモード
メモリアクセスモードの機能と動作について説明
します。
7.1 メモリアクセスモードの概要
7.2 外部メモリアクセス ( バス端子制御回路 )
7.3 外部メモリアクセス制御信号の動作
123
第 7 章 メモリアクセスモード
7.1
メモリアクセスモードの概要
F2MC-16LX では , アクセス方式 , アクセス領域 , テスト方式について , 各種のモード
があります。このモジュールでは以下の分類が適用されます。
■ メモリアクセスモードの概要
表 7.1-1 モード端子とモード
動作モード
RUN
バスモード
アクセスモード
シングルチップ
-
内 ROM 外バス
外 ROM 外バス
フラッシュプログラミング
-
8 ビット
16 ビット
8 ビット
16 ビット
-
● 動作モード
動作モードとは , デバイスの動作状態を制御するモードを示すもので , MDx モード設
定用端子とモードデータ内の Ex ビットで指定します。動作モードを選択することで ,
通常動作を行ったり , 内部テストプログラムができます。
● バスモード
バスモードとは , 内部 ROM の動作と外部アクセス機能の動作を制御するモードを示す
もので , モード設定用端子 (MDx) とモードデータ内の Mx ビットの内容で指定します。
モード設定用端子 (MDx) は , リセットベクタおよびモードデータを読み出すときのバ
スモードを指定するもので , モードデータ内の Mx ビットは , 通常動作時のバスモード
を指定するものです。
● アクセスモード
アクセスモードとは , 外部データバス幅を制御するモードを示すもので , MDx モード
設定用端子とモードデータ内の Sx ビットで指定します。アクセスモードを選択するこ
とで , 外部データバスを 8 ビット長あるいは 16 ビット長を指定します。
124
第 7 章 メモリアクセスモード
モード端子
7.1.1
MD2 ∼ MD0 の 3 本の外部端子を組み合わせて , 表 7.1-2 の動作を指定できます。
■ モード端子
表 7.1-2 モード端子とモード
モード端子設定
MD2 MD1 MD0
モード名
リセットベクタ
外部データバス幅
アクセス領域
備考
0
0
0
外部ベクタモード 0
外部
8 ビット
0
0
1
外部ベクタモード 1
外部
16 ビット
リセットベクタ 16 ビット
バス幅アクセス
0
1
0
0
1
1
( モードデータ )
リセットシーケンス以降
はモードデータで制御
1
0
0
1
0
1
1
1
0
フラッシュシリアル書込み *
-
-
-
1
1
1
フラッシュメモリ
-
-
パラレルライタ使用時の
モード
指定禁止
内部ベクタモード
内部
指定禁止
*: フラッシュメモリのシリアル書込みは , モード端子の設定だけでは書き込みできません。ほかの端子設定も
必要です。詳細は ,「第 25 章 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) シリアル書
込み接続例」を参照してください。
125
第 7 章 メモリアクセスモード
7.1.2
モードデータ
モードデータは , 主記憶 "FFFFDFH" に置かれ , CPU の動作を制御するために使用し
ます。リセットシーケンス実行中にこのデータを取り込み , デバイス内部のモードレ
ジスタに格納します。モードレジスタの値を変更できるのはリセットシーケンスだ
けです。
本レジスタによる設定はリセットシーケンス以降に有効となります。
予約ビットは , 必ず "0" を設定してください。
■ モードデータ
モードデータのビット構成を図 7.1-1 に示します。
図 7.1-1 モードデータ構成
アドレス:FFFFDFH
7
6
5
4
3
2
1
0
M1
M0
予約
予約
S0
予約
予約
予約
←ビット No.
【bit 7, bit 6】M1, M0( バスモード設定ビット )
M1, M0 は , リセットシーケンス終了後の動作モードを指定するビットです。M1, M0
ビットと , 機能の関係は , 表 7.1-3 のようになっています。
表 7.1-3 M1, M0( バスモード設定ビット ) の機能
M1
M0
機能
0
0
シングルチップモード
0
1
内 ROM 外バスモード
1
0
外 ROM 外バスモード
1
1
設定禁止
【bit 3】S0( モード設定ビット )
S0 は , リセットシーケンス終了後のバスモード , アクセスモードを指定するビットで
す。S0 ビットと機能の関係は , 表 7.1-4 のようになっています。
表 7.1-4 S0( モード設定ビット ) の機能
126
S0
機能
0
外部データバス 8 ビットモード
1
外部データバス 16 ビットモード
第 7 章 メモリアクセスモード
バスモード別メモリ空間
7.1.3
バスモードの指定による , アクセス領域と物理アドレスの対応を図 7.1-2 に示しま
す。
■ バスモード別メモリ空間
図 7.1-2 各バスモードにおけるアクセス領域と物理アドレスの関係
FFFFFFH
ROM領域
ROM領域
ROM領域
FFバンクの
イメージ
ROM領域
FFバンクの
イメージ
アドレス#1
010000H
)
(
004000H
(
)
I/O
I/O
I/O
RAM
RAM
RAM
003900H
アドレス#2
アドレス#3
:内部
:外部
000100H
0000C0H
I/O
000000H
シングルチップ
I/O
I/O
内ROM外バス
外ROM外バス
:アクセスなし
アドレス #1
アドレス #2
アドレス #3
FE0000H
002000H
001900H
MB90F548G(S)
FE0000H
002000H
001100H
MB90F549
FC0000H
002000H
001900H
MB90549G(S)/F549G(S)
FC0000H
002100H
001900H
MB90F546G(S)
FC0000H
002100H
002100H
(FC0000H)
002100H
002100H
品種
MB90F543/F543G(S)
MB90V540/V540G
127
第 7 章 メモリアクセスモード
■ 推奨設定
表 7.1-5 に , モード端子とモードデータの推奨設定例を示します。
表 7.1-5 モード端子とモードデータの推奨設定例
MD2 MD1 MD0 M1
設定例
M0
S0
シングルチップ
0
1
1
0
0
内 ROM 外バスモード・16 ビットバス
0
1
1
0
1
×
1
内 ROM 外バスモード・8 ビットバス
0
1
1
0
1
0
外 ROM 外バスモード・16 ビットバス・ベクタ 16 バス幅
0
0
1
1
0
1
外 ROM 外バスモード・8 ビットバス
0
0
0
1
0
0
外部端子には各種モードに異なる信号機能があります。
表 7.1-6 各種モードの外部端子の機能
機能
端子名
外部バス拡張
シングルチップ
P07 ∼ P00
8 ビット
16 ビット
AD07 ∼ AD00
P17 ∼ P10
A15 ∼ A08
フラッシュ
プログラミング
D07 ∼ D00
AD15 ∼ AD08
A15 ∼ A08
P27 ∼ P20
A23 ∼ A16*
A07 ∼ A00
P30
ALE
A16
P31
RD*
CE
P32
P33
ポート
WR*
ポート
P34
HRQ*
P35
HAK*
P36
RDY*
P37
CLK*
WRL*
OE
WRH*
PGM
未使用
*:アドレス上位出力端子と , WRL/WR, WRH, HRQ, HAK, RDY, CLK 端子は , 機能選択により
ポートとして使用することが可能です。
詳細は ,「7.2 外部メモリアクセス ( バス端子制御回路 ) 」を参照してください。
128
第 7 章 メモリアクセスモード
外部メモリアクセス ( バス端子制御回路 )
7.2
外部バス端子制御回路は , CPU のアドレス / データバスを外部に拡張するための外
部バス端子を制御します。
■ 外部メモリアクセス ( 外部バス端子制御回路 )
MB90540/545 デバイス外部のメモリ / 周辺をアクセスするためには , 以下に示すような
アドレス / データ / 制御信号を使用します。
• CLK(P37) : マシンサイクルクロック (KBP) 出力端子です。
• RDY(P36) : 外部レディ入力端子です。
• WRH(P33): データバス上位 8 ビットのライト信号です。
• WRL/WR(P32): データバス下位 8 ビットのライト信号または 8 ビットアクセス時の
データバス 8 ビットのライト信号です。
• RD(P31) : リード信号です。
• ALE(P30) : アドレスラッチイネーブル信号です。
外部バス端子制御回路は外部バス端子の制御に使用され , CPU アドレス / データバスの
外部拡張を可能にします。
■ 外部メモリアクセスのブロックダイヤグラム
図 7.2-1 外部バス制御器
P1
P0
P0データ
P2
P3
P3
P0
P0方向
○
RB
データ制御
アドレス制御
アクセス
制御
アクセス制御
129
第 7 章 メモリアクセスモード
7.2.1
外部メモリアクセス ( 外部バス端子制御回路 ) のレジ
スタ
外部メモリアクセス ( 外部バス端子制御回路 ) には , 次の 3 種類のレジスタがありま
す。
• 自動レディ機能選択レジスタ
• 外部アドレス出力制御レジスタ
• バス制御信号選択レジスタ
■ 外部メモリアクセスのレジスタ一覧
外部メモリアクセスのビット構成を図 7.2-2 に示します。
図 7.2-2 外部メモリアクセス ( 外部バス端子制御回路 ) のレジスタ一覧
自動レディ機能選択レジスタ
15
14
13
12
11
10
9
8
IOR1
IOR0
HMR1
HMR0
─
─
LMR1
LMR0
リード / ライト→
(W)
(W)
(W)
(W)
(-)
(-)
(W)
(W)
初期値→
(0)
(0)
(1)
(1)
(-)
(-)
(0)
(0)
7
6
5
4
3
2
1
0
アドレス:0000A6H
E23
E22
E21
E20
E19
E18
E17
E16
リード / ライト→
(W)
(W)
(W)
(W)
(W)
(W)
(W)
(W)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
15
14
13
12
11
10
9
8
アドレス:0000A7H
CKE
RYE
HDE
IOBS
HMBS
WRE
LMBS
─
リード / ライト→
(W)
(W)
(W)
(W)
(W)
(W)
(W)
(-)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(-)
アドレス:0000A5H
←ビット No.
ARSR
外部アドレス出力制御レジスタ
←ビット No.
HACR
バス制御信号選択レジスタ
130
←ビット No.
ECSR
第 7 章 メモリアクセスモード
7.2.2
自動レディ機能選択レジスタ (ARSR)
自動レディ機能選択レジスタ (ARSR) は , 外部アクセス時 , 領域ごとのメモリアクセ
スの自動ウェイト時間を設定します。
■ 自動レディ機能選択レジスタ (ARSR)
自動レディ機能選択レジスタ (ARSR) のビット構成を図 7.2-3 に示します。
図 7.2-3 自動レディ機能選択レジスタ (ARSR) の構成
15
14
13
12
11
10
9
8
IOR1
IOR0
HMR1
HMR0
─
─
LMR1
LMR0
リード / ライト→
(W)
(W)
(W)
(W)
(-)
(-)
(W)
(W)
初期値→
(0)
(0)
(1)
(1)
(-)
(-)
(0)
(0)
アドレス:0000A5H
←ビット No.
ARSR
【bit 15, bit 14】IOR1, IOR0
IOR1, IOR0 ビットでは , "0000C0H" ∼ "0000FFH" の領域に対する外部アクセスを行った
ときの自動ウェイト機能を指定します。IOR1, IOR0 ビットの組合せで , 表 7.2-1 に示す
ような設定になります。
表 7.2-1 IOR1, IOR0( 自動ウェイト機能指定ビット ) の機能
IOR1
IOR0
0
0
自動ウェイト禁止 [ 初期値 ]
0
1
外部アクセス時 , 1 サイクルの自動ウェイトが入る
1
0
外部アクセス時 , 2 サイクルの自動ウェイトが入る
1
1
外部アクセス時 , 3 サイクルの自動ウェイトが入る
機能
【bit 13, bit 12】HMR1, HMR0
HMR1, HMR0 では , "800000H" ∼ "FFFFFFH" の領域に対する外部アクセスを行ったとき
の自動ウェイト機能を指定します。HMR1, HMR0 ビットの組合せで , 表 7.2-2 に示すよ
うな設定になります。
表 7.2-2 HMR1, HMR0( 自動ウェイト機能指定ビット ) の機能
HMR1
HMR0
0
0
自動ウェイト禁止
0
1
外部アクセス時 , 1 サイクルの自動ウェイトが入る
1
0
外部アクセス時 , 2 サイクルの自動ウェイトが入る
1
1
外部アクセス時 , 3 サイクルの自動ウェイトが入る [ 初期値 ]
機能
131
第 7 章 メモリアクセスモード
【bit 9, bit 8】LMR1, LMR0
LMR1, LMR0 では , "002000H" ∼ "7FFFFFH" の領域に対する外部アクセスを行ったとき
の自動ウェイト機能を指定します。LMR1, LMR0 ビットの組合せで , 表 7.2-3 に示すよ
うな設定になります。
表 7.2-3 LMR1, LMR0( 自動ウェイト機能指定ビット ) の機能
132
LMR1
LMR0
0
0
自動ウェイト禁止 [ 初期値 ]
0
1
外部アクセス時 , 1 サイクルの自動ウェイトが入る
1
0
外部アクセス時 , 2 サイクルの自動ウェイトが入る
1
1
外部アクセス時 , 3 サイクルの自動ウェイトが入る
機能 [ 初期値 ]
第 7 章 メモリアクセスモード
7.2.3
外部アドレス出力制御レジスタ (HACR)
外部アドレス出力制御レジスタ (HACR) は , アドレス (A23 ∼ A16) の外部への出力
を制御するレジスタです。各ビットが , それぞれアドレス A23 ∼ A16 に対応し , 各
アドレス出力端子を図 7.2-4 に示すように制御します。
■ 外部アドレス出力制御レジスタ (HACR)
外部アドレス出力制御レジスタ (HACR) のビット構成を図 7.2-4 に示します。
図 7.2-4 外部アドレス出力制御レジスタ (HACR) の構成
7
6
5
4
3
2
1
0
アドレス:0000A6H
E23
E22
E21
E20
E19
E18
E17
E16
リード / ライト→
(W)
(W)
(W)
(W)
(W)
(W)
(W)
(W)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
←ビット No.
HACR
【bit 7 ∼ bit 0】E23 ∼ E16
HACR レジスタは外部回路へのアドレス (A23 ∼ A16) の出力を制御します。8 ビット
がA23∼A16のアドレスビットに対応し,下記のようにアドレス出力端子を制御します。
HACR レジスタは , デバイスがシングルチップモード時にはアクセスすることができ
ません。
その場合,本レジスタの値にかかわらず,全端子がI/Oポートとして機能します。
このレジスタの全ビットは , すべて書込み専用で , 読出しでは "1" となります。
表 7.2-4 外部アドレス出力制御レジスタ (E23 ∼ E16 ビット ) の機能
0
対応する端子はアドレス出力 (AXX) になります。[ 初期値 ]
1
対応する端子は I/O ポート (PXX) になります。
133
第 7 章 メモリアクセスモード
7.2.4
バス制御信号選択レジスタ (ECSR)
バス制御信号選択レジスタ (ECSR) は , 外部バスモード時のバス動作の制御機能を設
定するレジスタです。デバイスがシングルチップモード時にはアクセスすることが
できません。その場合 , 本レジスタの値にかかわらず , 全端子が I/O ポートとして機
能します。バス制御信号選択レジスタのビットは , すべて書込み専用で , 読出しでは
"1" となります。
■ バス制御信号選択レジスタ (ECSR)
バス制御信号選択レジスタ (ECSR) のビット構成を図 7.2-5 に示します。
図 7.2-5 バス制御信号選択レジスタ (ECSR) の構成
15
14
13
12
11
10
9
8
アドレス:0000A7H
CKE
RYE
HDE
IOBS
HMBS
WRE
LMBS
─
リード / ライト→
(W)
(W)
(W)
(W)
(W)
(W)
(W)
(-)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(-)
←ビット No.
ECSR
【bit 15】CKE
CKE ビットでは , 外部クロック信号端子 (CLK) の出力を表 7.2-5 に示すように制御しま
す。
表 7.2-5 CKE( 外部クロック (CLK) 出力制御ビット ) の機能
0
I/O ポート (P37) 動作 ( クロック出力禁止 ) [ 初期値 ]
1
クロック信号 (CLK) 出力許可
【bit 14】RYE
RYE ビットでは , 外部レディ(RDY) 信号端子の入力を , 表 7.2-6 に示すように制御しま
す。
表 7.2-6 RYE( 外部レディ (RDY) 入力制御ビット ) の機能
0
I/O ポート (P36) 動作 ( 外部 RDY 入力禁止 ) [ 初期値 ]
1
外部レディ (RDY) 入力許可
【bit 13】HDE
HDE ビットは , ホールド関係の信号の入出力許可を指定します。HDE ビットの設定に
より , ホールド要求入力信号 (HRQ) とホールドアクノリッジ出力信号 (HAK) の 2 本を
表 7.2-7 に示すように制御します。
表 7.2-7 HDE( ホールド関連端子の入出力許可指定ビット ) の機能
134
0
I/O ポート (P35, P34) 動作 ( ホールド機能入出力禁止 )[ 初期値 ]
1
ホールド要求 (HRQ) 入力 / ホールドアクノリッジ (HAK) 出力許可
第 7 章 メモリアクセスモード
【bit 12】IOBS
IOBS ビットでは , 外部データバス 16 ビットモード時に , "0000C0H" ∼ "0000FFH" の領
域に対する外部アクセスを行ったときのバス幅を指定します。本ビットの設定により ,
表 7.2-8 に示すように制御します。
表 7.2-8 IOBS( バス幅指定ビット )
0
16 ビットバス幅アクセス [ 初期値 ]
1
8 ビットバス幅アクセス
【bit 11】HMBS
HMBS ビットは , 外部データバス 16 ビットモード時に , "800000H" ∼ "FFFFFFH" の領
域に対する外部アクセスを行ったときのバス幅を指定します。本ビットの設定により ,
表 7.2-9 に示すように制御します。
表 7.2-9 HMBS( バス幅指定ビット ) の機能
0
16 ビットバス幅アクセス [ 初期値 ]
1
8 ビットバス幅アクセス
【bit 10】WRE
WRE ビットは , 外部ライト信号 ( 外部データバス 16 ビットモードの場合は WRH/WRL
両端子 , 外部データバス 8 ビットモードの場合は WR 端子 ) の出力を , 表 7.2-10 に示す
ように制御します。
外部データバス 8 ビットモードの場合は , 本ビットの設定値に関係なく , P33 は I/O ポー
トとして機能します。
表 7.2-10 WRE( 外部ライト信号出力制御ビット ) の機能
0
I/O ポート (P33, P32) 動作 ( ライト信号出力禁止 ) [ 初期値 ]
1
ライトストローブ信号 (WRH/WRL または WR のみ ) の出力許可
【bit 9】LMBS
LMBS ビットは , 外部データバス 16 ビットモード時に , "002000H" ∼ "7FFFFFH" の領
域に対する外部アクセスを行ったときのバス幅を指定します。本ビットの設定により ,
表 7.2-11 のように制御します。
表 7.2-11 LMBS( バス幅指定ビット ) の機能
0
16 ビットバス幅アクセス [ 初期値 ]
1
8 ビットバス幅アクセス
135
第 7 章 メモリアクセスモード
<注意事項>
• 外部データバス 16 ビットモード時 , WRE ビットにて WR, WRH, WRL 機能を許可する
場合は , P33, P32 を入力モードにしてください (DDR3 レジスタの bit3, bit2 は "0" にし
てください )。
• 外部データバス 8 ビットモード時 , WRE ビットにて WR 機能を許可する場合は , P32
を入力モードにしてください (DDR3 レジスタの bit2 は "0" にしてください )。
• また , RYE, HDE ビットにて RDY, HRQ 信号入力を許可した場合でも , そのポートの
I/O ポート機能は有効となります。そのため , そのポートに対応する DDR3 レジスタ
に , 必ず "0"( 入力モード ) を書き込みます。
136
第 7 章 メモリアクセスモード
7.3
外部メモリアクセス制御信号の動作
外部メモリへのアクセスは , レディ機能を使用しない場合は 3 サイクルで行います。
外部データバス 16 ビットモードでの 8 ビットバス幅アクセスは , 8 ビット幅の周辺
チップと 16 ビット幅の周辺チップを混在して外部バスに接続した場合に , 8 ビット
幅の周辺チップをリード / ライトするための機能です。
■ 外部メモリアクセス制御信号
外部データバス 16 ビットモードで 16 ビットバス幅アクセスを行うか 8 ビットバス幅
アクセスを行うかは , ECSR レジスタの HMBS/LMBS/IOBS ビットで指定することにな
ります。
なお , アドレス出力と ALE 信号のアサート出力のみを行い , RD/WRL/WRH/WR をア
サートしないことにより実際にはバス動作を行わない場合があります。ALE 信号のみ
で , 周辺チップへのアクセスを実行することがないようにしてください。
図 7.3-1 外部データバス 8 ビットモードのアクセスタイミングチャート
リード
ライト
リード
P37/CLK
P33/WRH
(ポートデータ)
P32/WRL/WR
P31/RD
P30/ALE
P27~P20/A23~A16
リードアドレス
ライトアドレス
リード
アドレス
P17~P10/A15~A08
リードアドレス
ライトアドレス
リード
アドレス
P07~P00/AD07~AD00
リード
アドレス
ライト
アドレス
リード
アドレス
リードデータ
ライトデータ
137
第 7 章 メモリアクセスモード
図 7.3-2 外部データバス 16 ビットモードのアクセスタイミングチャート
(16 ビットバス幅アクセス , 8 ビットバス幅アクセス時 )
8ビットバス幅バイトリード
偶数アドレスバイトリード
8ビットバス幅バイトライト
偶数アドレスバイトライト
P37/CLK
P33/WRH
P32/WRL/WR
P31/RD
P30/ALE
P27~P20/A23~A16
リードアドレス
P17~P10/AD15~AD08
リード
アドレス
P07~P00/AD07~AD00
リード
アドレス
リード
アドレス
ライトアドレス
無効
ライト
アドレス
(不定)
リード
アドレス
ライト
アドレス
リードデータ
奇数アドレスバイトリード
リード
アドレス
ライトデータ
奇数アドレスバイトライト
P37/CLK
P33/WRH
P32/WRL/WR
P31/RD
P30/ALE
P27~P20/A23~A16
リードアドレス
ライトアドレス
リード
アドレス
P17~P10/AD15~AD08
リード
アドレス
ライト
アドレス
リード
アドレス
P07~P00/AD07~AD00
リード
アドレス
無効
ライト
アドレス
リードデータ
偶数アドレスワードリード
(不定)
リード
アドレス
ライトデータ
偶数アドレスワードライト
P37/CLK
P33/WRH
P32/WRL/WR
P31/RD
P30/ALE
P27~P20/A23~A16
リードアドレス
ライトアドレス
リード
アドレス
P17~P10/AD15~AD08
リード
アドレス
ライト
アドレス
リード
アドレス
P07~P00/AD07~AD00
リード
アドレス
ライト
アドレス
リード
アドレス
リードデータ
ライトデータ
(注意事項)
常にワードで読み出すように外部回路を設定してください。
P36/RDY端子または自動レディ機能選択レジスタ(ARSR)の設定により,低速のメモリや周辺回路へのアクセスが可能となります。
138
第 7 章 メモリアクセスモード
7.3.1
レディ機能
P36/RDY 端子または自動レディ機能選択レジスタ (ARSR) の設定により , 低速のメ
モリや周辺回路へのアクセスが可能となります。
バス制御信号選択レジスタ (ECSR) 中の RYE ビットが "1" に設定されている場合 ,
外部回路へのアクセス時に P36/RDY 信号に "L" レベルが入力されている期間ウェイ
トサイクルとなり , アクセスサイクルを延ばすことが可能です。
■ レディ機能
図 7.3-3 レディ機能タイミングチャート
偶数アドレスワードリード
偶数アドレスワードライト
P37/CLK
P33/WRH
P32/WRL/WR
P31/RD
P30/ALE
P27~P20/A23~A16
リードアドレス
ライトアドレス
P17~P10/AD15~AD08
リード
アドレス
ライト
アドレス
P07~P00/AD07~AD00
リード
アドレス
ライト
アドレス
P36/RDY
RDY端子取込み
偶数アドレスワードライト
リードデータ
ライトデータ
偶数アドレスワードリード
P37/CLK
P33/WRH
P32/WRL/WR
P31/RD
P30/ALE
P27~P20/A23~A16
ライトアドレス
P17~P10/AD15~AD08
ライト
アドレス
リードアドレス
P07~P00/AD07~AD00
ライト
アドレス
リードアドレス
リードアドレス
ライトデータ オートレディにより延びたサイクル
139
第 7 章 メモリアクセスモード
MB90540/545 は , 外部メモリアクセス用のオートレディ機能を 2 種類内蔵しています。
オートレディ機能は , アドレス "002000H" ∼ "7FFFFFH" 間に配置した下位アドレス外部
領域へのアクセスが発生したときと , アドレス "800000H" ∼ "FFFFFFH" 間に配置した上
位アドレス外部領域へのアクセスが発生したときに , 外部回路なしで自動的に 1 ∼ 3 サ
イクルのウェイトサイクルを挿入し , アクセスサイクルを延ばすことができる機能で ,
ARSR 中の LMR1/LMR0 ビット ( 下位アドレス外部領域 ) および ARSR 中の HMR1/
HMR0 ビット ( 上位アドレス外部領域 ) の設定により起動します。
さらに , MB90540/545 は I/O 用のオートレディ機能をメモリ用とは独立に内蔵していま
す。ARSR レジスタの IOR1/IOR0 ビットを "0" に設定すると , アドレス "0000C0H" ∼
"0000FFH" 間の外部領域へのアクセス時に , 外部回路なしで自動的に 1 ∼ 3 サイクルの
ウェイトサイクルを挿入し , アクセスサイクルを延ばすことができます。
外部メモリ用 , 外部 I/O 用のオートレディどちらでも ECSR 中の RYE ビットが "1" に
設定されている場合,上記オートレディ機能によるウェイトサイクル終了後にP36/RDY
端子に "L" レベルが入力されているとそのままウェイトサイクルを継続します。
140
第 7 章 メモリアクセスモード
7.3.2
ホールド機能
バス制御信号選択レジスタ (ECSR) 中の HDE ビットが "1" に設定されている場合 ,
P34/HRQ, P35/HAK 両端子による外部アドレスホールド機能が有効となります。
■ ホールド機能
P34/HRQ 端子に "H" レベルを入力すると , CPU の命令の終了時 ( ストリング命令の場
合は "1" エレメントデータの処理の終了時 ) にてホールド状態となり , P35/HAK 端子よ
り "L" レベル信号を出力して以下の端子をハイインピーダンス状態にします。
• アドレス出力 :P27/A23 ∼ P20/A16
• データ入出力 :P17/AD15 ∼ P00/AD00
• バス制御信号 :P30/ALE, P31/RD, P32/WRL/WR, P33/WRH
これにより , デバイス外部回路により外部バスを使用することが可能となります。P34/
HRQ 端子に "L" レベル信号を入力すると , P35/HAK 端子は "H" レベル出力となり , 外
部端子状態が復活してバスは動作を再開します。STOP 状態においては , ホールド要求
入力は受け付けません。
図 7.3-4 ホールドタイミング
ホールドサイクル
リードサイクル
ライトサイクル
P37/CLK
P34/HRQ
P35/HAK
P33/WRH
P32/WRL/WR
P31/RD
P30/ALE
P27~P20/A23~A16
(アドレス)
(アドレス)
P17~P10/AD15~AD08
(アドレス)
P07~P00/AD07~AD00
(アドレス)
リードデータ
ライトデータ
141
第 7 章 メモリアクセスモード
142
第8章
I/O ポート
I/O ポートの機能について説明します。
8.1 I/O ポート
8.2 I/O ポートのレジスタ一覧
143
第 8 章 I/O ポート
8.1
I/O ポート
それぞれのポートの各端子は , 対応する周辺が端子を用いない設定となっているとき ,
ポート方向レジスタ (DDR0 ∼ DDRA) の設定により入力 , 出力の指定を行うことがで
きます。
■ I/O ポートの概要
端子が入力と指定されている場合は , 端子の論理レベルが読み出されます。端子が出力
と指定されている場合は , データレジスタ値が読み出されます。これは , リードモディ
ファイライト系命令の読出しでも同じです。
端子がほかの周辺機能の出力として使用されている場合は,データレジスタの値に関係
なく , 端子の論理レベルが読み出されます。
通常は , ポートを出力に設定するのに先立って , リードモディファイライト系の命令を
データレジスタの設定に使用しない,および周辺機能の出力を禁止することをお勧めし
ます。これは , この場合のリードモディファイライト系命令がレジスタ値ではなく ,
ポートの論理レベルを読み出すことになるからです。
図 8.1-1 に , I/O ポートのブロックダイヤグラムを示します。
図 8.1-1 I/O ポートのブロックダイヤグラム
内部データバス
データレジスタリード
データレジスタ
データレジスタライト
方向レジスタ
方向レジスタライト
方向レジスタリード
144
端子
第 8 章 I/O ポート
8.2
I/O ポートのレジスタ一覧
I/O ポートの各レジスタのビット構成を , 図 8.2-1 に示します。
■ I/O ポートのレジスタ一覧
I/O ポートのレジスタのビット構成を図 8.2-1 に示します。
図 8.2-1 I/O ポートのレジスタ一覧
7
6
5
4
3
2
1
0
アドレス : 000000H
P07
P06
P05
P04
P03
P02
P01
P00
ポートデータレジスタ (PDR0) ( ポート 0 用 )
アドレス : 000001H
P17
P16
P15
P14
P13
P12
P11
P10
ポートデータレジスタ (PDR1) ( ポート 1 用 )
アドレス : 000002H
P27
P26
P25
P24
P23
P22
P21
P20
ポートデータレジスタ (PDR2) ( ポート 2 用 )
アドレス : 000003H
P37
P36
P35
P34
P33
P32
P31
P30
ポートデータレジスタ (PDR3) ( ポート 3 用 )
アドレス : 000004H
P47
P46
P45
P44
P43
P42
P41
P40
ポートデータレジスタ (PDR4) ( ポート 4 用 )
アドレス : 000005H
P57
P56
P55
P54
P53
P52
P51
P50
ポートデータレジスタ (PDR5) ( ポート 5 用 )
アドレス : 000006H
P67
P66
P65
P64
P63
P62
P61
P60
ポートデータレジスタ (PDR6) ( ポート 6 用 )
アドレス : 000007H
P77
P76
P75
P74
P73
P72
P71
P70
ポートデータレジスタ (PDR7) ( ポート 7 用 )
アドレス : 000008H
P87
P86
P85
P84
P83
P82
P81
P80
ポートデータレジスタ (PDR8) ( ポート 8 用 )
アドレス : 000009H
P97
P96
P95
P94
P93
P92
P91
P90
ポートデータレジスタ (PDR9) ( ポート 9 用 )
アドレス : 00000AH
─
─
─
─
─
─
─
PA0
ポートデータレジスタ (PDRA) ( ポート A 用 )
ビット No. →
7
6
5
4
3
2
1
0
アドレス : 000010H
D07
D06
D05
D04
D03
D02
D01
D00 ポート方向レジスタ (DDR0) ( ポート 0 用 )
アドレス : 000011H
D17
D16
D15
D14
D13
D12
D11
D10 ポート方向レジスタ (DDR1) ( ポート 1 用 )
アドレス : 000012H
D27
D26
D25
D24
D23
D22
D21
D20 ポート方向レジスタ (DDR2) ( ポート 2 用 )
アドレス : 000013H
D37
D36
D35
D34
D33
D32
D31
D30 ポート方向レジスタ (DDR3) ( ポート 3 用 )
アドレス : 000014H
D47
D46
D45
D44
D43
D42
D41
D40 ポート方向レジスタ (DDR4) ( ポート 4 用 )
アドレス : 000015H
D57
D56
D55
D54
D53
D52
D51
D50 ポート方向レジスタ (DDR5) ( ポート 5 用 )
アドレス : 000016H
D67
D66
D65
D64
D63
D62
D61
D60 ポート方向レジスタ (DDR6) ( ポート 6 用 )
アドレス : 000017H
D77
D76
D75
D74
D73
D72
D71
D70 ポート方向レジスタ (DDR7) ( ポート 7 用 )
アドレス : 000018H
D87
D86
D85
D84
D83
D82
D81
D80 ポート方向レジスタ (DDR8) ( ポート 8 用 )
ビット No. →
アドレス : 000019H
D97
D96
D95
D94
D93
D92
D91
D90 ポート方向レジスタ (DDR9) ( ポート 9 用 )
アドレス : 00001AH
─
─
─
─
─
─
─
DA0 ポート方向レジスタ (DDRA) ( ポート A 用 )
ビット No. →
7
6
5
4
3
2
1
0
プルアップ制御レジスタ (PUCR0)
( ポート 0 用 )
プルアップ制御レジスタ (PUCR1)
アドレス : 00001DH PU17 PU16 PU15 PU14 PU13 PU12 PU11 PU10
( ポート 1 用 )
プルアップ制御レジスタ (PUCR2)
アドレス : 00001EH PU27 PU26 PU25 PU24 PU23 PU22 PU21 PU20
( ポート 2 用 )
プルアップ制御レジスタ (PUCR3)
アドレス : 00001FH PU37 PU36 PU35 PU34 PU33 PU32 PU31 PU30
( ポート 3 用 )
アドレス : 00001CH PU07 PU06 PU05 PU04 PU03 PU02 PU01 PU00
ビット No. →
7
6
5
4
3
2
1
0
アドレス : 00001BH ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0 アナログ入力許可レジスタ (ADER)
145
第 8 章 I/O ポート
8.2.1
ポートデータレジスタ (PDR0 ∼ PDRA)
( ポート 0 ∼ポート A 用 )
ポートデータレジスタ (PDR0 ∼ PDRA) ( ポート 0 ∼ポート A 用 ) のビット構成の詳
細を , 図 8.2-2 に示します。
■ ポートデータレジスタ (PDR0 ∼ PDRA) ( ポート 0 ∼ポート A 用 )
ポートデータレジスタ (PDR0 ∼ PDRA) ( ポート 0 ∼ポート A 用 ) のビット構成を図
8.2-2 に示します。
図 8.2-2 ポートデータレジスタ (PDR0 ∼ PDRA) ( ポート 0 ∼ポート A 用 )
PDR0 ( ポート 0 用 )
ビット No. →
アドレス : 000000H
7
P07
6
P06
5
P05
4
P04
3
P03
2
P02
1
P01
0
P00
初期値
アクセス
XXXXXXXXB R/W*
PDR1 ( ポート 1 用 )
ビット No. →
アドレス : 000001H
7
6
5
4
3
2
1
0
P17
P16
P15
P14
P13
P12
P11
P10
XXXXXXXXB
R/W*
7
P27
6
P26
5
P25
4
P24
3
P23
2
P22
1
P21
0
P20
XXXXXXXXB
R/W*
7
P37
6
P36
5
P35
4
P34
3
P33
2
P32
1
P31
0
P30
XXXXXXXXB
R/W*
PDR2 ( ポート 2 用 )
ビット No. →
アドレス : 000002H
PDR3 ( ポート 3 用 )
ビット No. →
アドレス : 000003H
PDR4 ( ポート 4 用 )
ビット No. →
アドレス : 000004H
7
6
5
4
3
2
1
0
P47
P46
P45
P44
P43
P42
P41
P40
XXXXXXXXB
R/W*
7
P57
6
P56
5
P55
4
P54
3
P53
2
P52
1
P51
0
P50
XXXXXXXXB
R/W*
7
P67
6
P66
5
P65
4
P64
3
P63
2
P62
1
P61
0
P60
XXXXXXXXB
R/W*
PDR5 ( ポート 5 用 )
ビット No. →
アドレス : 000005H
PDR6 ( ポート 6 用 )
ビット No. →
アドレス : 000006H
PDR7 ( ポート 7 用 )
ビット No. →
アドレス : 000007H
7
6
5
4
3
2
1
0
P77
P76
P75
P74
P73
P72
P71
P70
XXXXXXXXB
R/W*
7
P87
6
P86
5
P85
4
P84
3
P83
2
P82
1
P81
0
P80
XXXXXXXXB
R/W*
7
P97
6
P96
5
P95
4
P94
3
P93
2
P92
1
P91
0
P90
XXXXXXXXB
R/W*
PDR8 ( ポート 8 用 )
ビット No. →
アドレス : 000008H
PDR9 ( ポート 9 用 )
ビット No. →
アドレス : 000009H
( 続く )
146
第 8 章 I/O ポート
( 続き )
PDRA ( ポート A 用 )
ビット No. →
アドレス : 00000AH
7
6
5
4
3
2
1
0
─
─
─
─
─
─
─
PA0
-------XB
R/W *
* : 入出力サポートの R/W は , メモリへの R/W とは多少動作が異なり , 次のとおりになりますので注意してくださ
い。
• 入力モード
リード時:対応する端子のレベルが読み出されます。
ライト時:出力用のラッチに書き込まれます。
• 出力モード
リード時:データレジスタラッチの値が読み出されます。
ライト時:出力用のラッチに書き込まれ , 対応する端子に出力されます。
147
第 8 章 I/O ポート
8.2.2
ポート方向レジスタ (DDR0 ∼ DDRA)
( ポート 0 ∼ポート A 用 )
ポート方向レジスタ (DDR0 ∼ DDRA) ( ポート 0 ∼ポート A 用 ) のビット構成を図
8.2-3 に示します。
■ ポート方向レジスタ (DDR0 ∼ DDRA) ( ポート 0 ∼ポート A 用 )
ポート方向レジスタ (DDR0 ∼ DDRA) ( ポート 0 ∼ポート A 用 ) のビット構成を図 8.23 に示します。
図 8.2-3 ポート方向レジスタ (DDR0 ∼ DDRA) ( ポート 0 ∼ポート A 用 )
DDR0 ( ポート 0 用 )
ビット No. →
アドレス : 000010H
7
D07
6
D06
5
D05
4
D04
3
D03
2
D02
1
D01
0
D00
初期値
アクセス
00000000B
R/W
7
D17
6
D16
5
D15
4
D14
3
D13
2
D12
1
D11
0
D10
00000000B
R/W
7
D27
6
D26
5
D25
4
D24
3
D23
2
D22
1
D21
0
D20
00000000B
R/W
7
D37
6
D36
5
D35
4
D34
3
D33
2
D32
1
D31
0
D30
00000000B
R/W
7
D47
6
D46
5
D45
4
D44
3
D43
2
D42
1
D41
0
D40
00000000B
R/W
7
D57
6
D56
5
D55
4
D54
3
D53
2
D52
1
D51
0
D50
00000000B
R/W
7
6
5
4
3
2
1
0
D67
D66
D65
D64
D63
D62
D61
D60
00000000B
R/W
7
D77
6
D76
5
D75
4
D74
3
D73
2
D72
1
D71
0
D70
00000000B
R/W
7
D87
6
D86
5
D85
4
D84
3
D83
2
D82
1
D81
0
D80
00000000B
R/W
7
6
5
4
3
2
1
0
D97
D96
D95
D94
D93
D92
D91
D90
00000000B
R/W
DDR1 ( ポート 1 用 )
ビット No. →
アドレス : 000011H
DDR2 ( ポート 2 用 )
ビット No. →
アドレス : 000012H
DDR3 ( ポート 3 用 )
ビット No. →
アドレス : 000013H
DDR4 ( ポート 4 用 )
ビット No. →
アドレス : 000014H
DDR5 ( ポート 5 用 )
ビット No. →
アドレス : 000015H
DDR6 ( ポート 6 用 )
ビット No. →
アドレス : 000016H
DDR7 ( ポート 7 用 )
ビット No. →
アドレス : 000017H
DDR8 ( ポート 8 用 )
ビット No. →
アドレス : 000018H
DDR9 ( ポート 9 用 )
ビット No. →
アドレス : 000019H
( 続く )
148
第 8 章 I/O ポート
( 続き )
DDRA ( ポート A 用 )
ビット No. →
アドレス : 00001AH
7
6
5
4
3
2
1
0
─
─
─
─
─
─
─
DA0
-------0B
R/W
各端子がポートとして使用しているときは , 対応する各端子を以下のように制御します。
0 : 入力モード
1 : 出力モード
リセットで "0" になります。
149
第 8 章 I/O ポート
プルアップ制御レジスタ (PUCR0 ∼ PUCR3)
( ポート 0 ∼ポート 3 用 )
8.2.3
プルアップ制御レジスタ (PUCR0 ∼ PUCR3) ( ポート 0 ∼ポート 3 用 ) のビット構
成を図 8.2-4 に , ブロックダイヤグラムを図 8.2-5 に示します。
■ プルアップ制御レジスタ (PUCR0 ∼ PUCR3) ( ポート 0 ∼ポート 3 用 )
プルアップ制御レジスタ (PUCR0 ∼ PUCR3) ( ポート 0 ∼ポート 3 用 ) のビット構成を
図 8.2-4 に示します。
図 8.2-4 プルアップ制御レジスタ (PUCR0 ∼ PUCR3) ( ポート 0 ∼ポート 3 用 ) のビット構成
7
6
5
4
3
2
1
0
アドレス:
00001CH
PU07
PU06
PU05
PU04
PU03
PU02
PU01
PU00
←ビット No.
PUCR0
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
( ポート 0 用 )
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
初期値→
アドレス:
00001DH
PU17
PU16
PU15
PU14
PU13
PU12
PU11
PU10
←ビット No.
PUCR1
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
( ポート 1 用 )
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
初期値→
アドレス:
00001EH
PU27
PU26
PU25
PU24
PU23
PU22
PU21
PU20
←ビット No.
PUCR2
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
( ポート 2 用 )
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
初期値→
アドレス:
00001FH
PU37
PU36
PU35
PU34
PU33
PU32
PU31
PU30
←ビット No.
PUCR3
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
( ポート 3 用 )
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値→
150
第 8 章 I/O ポート
■ プルアップ制御レジスタ(PUCR0∼PUCR3) (ポート0∼ポート3用)のブロックダイ
ヤグラム
図 8.2-5 プルアップ制御レジスタ (PUCR0 ∼ PUCR3) ( ポート 0 ∼ポート 3 用 ) の
ブロックダイヤグラム
プルアップ抵抗(約50 kΩ)
データレジスタ
ポート入出力
方向レジスタ
抵抗レジスタ
内部データバス
<注意事項>
• 入力モード時のプルアップ抵抗制御を行います。
- 0: 入力モード時プルアップ抵抗なし。
- 1: 入力モード時プルアップ抵抗あり。
• 出力モード時は意味を持ちません ( プルアップ抵抗なし )。
• 入出力モードは方向レジスタ (DDR) で決まります。
• ハードウェアスタンバイ時とストップモード時 (SPL=1) の場合は , プルアップ抵抗な
しになります ( ハイインピーダンス )。
• ポートが外部バスとして使用される場合 , この機能は使用禁止になり , レジスタにデー
タは書き込まれません。
151
第 8 章 I/O ポート
8.2.4
アナログ入力許可レジスタ (ADER)
アナログ入力許可レジスタ (ADER) のビット構成を , 図 8.2-6 に示します。
■ アナログ入力許可レジスタ (ADER)
アナログ入力許可レジスタ (ADER) のビット構成を図 8.2-6 に示します。
図 8.2-6 アナログ入力許可レジスタ (ADER) のビット構成
7
6
5
4
3
2
1
アドレス:00001BH
ADE7
ADE6
ADE5
ADE4
ADE3
ADE2
ADE1
ADE0
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
初期値→
0
←ビット No.
ADER
アナログ入力許可レジスタ (ADER) は , ポート 6 の各端子を次のように制御します。
• 0: ポート入力モード
• 1: アナログ入力モード
外部端子が A/D 変換器のアナログ入力として使用される場合 , 対応するビットは "1" に
設定してください。
152
第9章
タイムベースタイマ
タイムベースタイマの機能と動作について説明し
ます。
9.1 タイムベースタイマの概要
9.2 タイムベースタイマ制御レジスタ (TBTC)
9.3 タイムベースタイマの動作
153
第 9 章 タイムベースタイマ
9.1
タイムベースタイマの概要
タイムベースタイマは , 18 ビットのタイマのほかにインターバルな割込みを制御す
る回路から構成されています。なお , タイムベースタイマは , クロック選択レジスタ
(CKSCR) 中の MCS ビットおよび SCS ビットに関係なく , メインクロック信号を使
用します。
■ タイムベースタイマのレジスタ一覧
タイムベースタイマのレジスタのビット構成を図 9.1-1 に示します。
図 9.1-1 タイムベースタイマのレジスタ一覧
15
アドレス : 0000A9H
予約
リード / ライト→ (R/W)
(1)
初期値→
14
13
12
11
10
9
8
←ビット No.
─
(-)
(-)
─
(-)
(-)
TBIE
(R/W)
(0)
TBOF
(R/W)
(0)
TBR
(R/W)
(1)
TBC1
(R/W)
(0)
TBC0
(R/W)
(0)
TBTC
■ タイムベースタイマのブロックダイヤグラム
図 9.1-2 タイムベースタイマのブロックダイヤグラム
メインクロック
TBTC
TBC1
セレクタ
TBC0
212
214
216
219
TBTRES
クロック入力
タイムベースタイマ
212
214
216
219
TBR
TBIE
AND
Q
S
R
TBOF
タイムベース
割込み
WDTC
WT1
セレクタ
WT0
2ビットカウンタ
OF
CLR
ウォッチドッグ
リセット発生回路
CLR
WTE
WDGRST
内部 リセット
発生回路へ
WTC
AND
WDCS
SCE
SCM
パワーオンリセット
サブクロック停止
S
R
Q
210
WTC2
WTC1
WTC0
214
215
時計タイマ
WT R
WTIE
213
セレクタ
WTRES
AND
Q
S
R
クロック入力
サブクロック/4
WTOF
時計
割込み
WDTC
PONR
パワーオン発生から
STBR
ハードウェアスタンバイ
制御回路から
WRST
154
ERST
RST 端子
SRST
LPMCRレジスタの
RSTビットから
第 9 章 タイムベースタイマ
9.2
タイムベースタイマ制御レジスタ (TBTC)
タイムベースタイマ制御レジスタ (TBTC) では , タイムベースタイマの動作を制御し ,
また , インターバル割込みの時間を制御します。
■ タイムベースタイマ制御レジスタ (TBTC)
タイムベースタイマ制御レジスタ (TBTC) のビット構成を図 9.2-1 に示します。
図 9.2-1 タイムベースタイマ制御レジスタ (TBTC)
15
アドレス : 0000A9H
予約
リード / ライト→ (R/W)
(1)
初期値→
14
─
(-)
(-)
13
12
11
10
9
8
←ビット No.
─
(-)
(-)
TBIE
(R/W)
(0)
TBOF
(R/W)
(0)
TBR
(R/W)
(1)
TBC1
(R/W)
(0)
TBC0
(R/W)
(0)
TBTC
【bit 15】予約ビット
ライトの値は常に "1" にしてください。
【bit 14, bit 13】未使用ビット
bit 14, bit 13 は , 空きビットです。
【bit 12】TBIE
タイムベースタイマによるインターバル割込みを許可するビットです。"1" のとき割込
み許可 , "0" のとき割込みを禁止します。リセットにて "0" に初期化します。読み書き
可能なビットです。
【bit 11】TBOF
タイムベースタイマの割込み要求フラグです。TBIE ビットが "1" のとき TBOF が , "1"
になると割込み要求を発生します。TBC1, TBC0 ビットで設定されたインターバルごと
に "1" にセットされます。"0" の書込み , ストップモード , ハードウェアスタンバイモー
ドへの遷移およびリセットによりクリアされます。"1" の書込みは意味がありません。
リードモディファイライト系命令におけるリード時には "1" が読み出されます。
【bit 10】TBR
タイムベースタイマのカウンタを全ビット "0" にクリアするビットです。"0" を書き込
むことによりタイムベースタイマをクリアします。"1" の書込みは動作に影響はありま
せん。リード時は "1" が読めます。
【bit 9, bit 8】TBC1, TBC0
タイムベースタイマのインターバル時間を設定するビットです。リセットにより "00B"
に初期化されます。読み書き可能なビットです。
表 9.2-1 に , タイムベースタイマ インターバル時間の設定を示します。
表 9.2-1 タイムベースタイマ インターバル時間の設定
TBC1
TBC0
原発振 4 MHz 時のインターバル時間
0
0
1.024 ms
0
1
4.096 ms
1
0
16.384 ms
1
1
131.072 ms
155
第 9 章 タイムベースタイマ
9.3
タイムベースタイマの動作
タイムベースタイマは , ウォッチドッグカウンタのクロックソース , メインクロック
と PLL クロック発振安定待ち時間のタイマ , 一定周期ごとに割込みを発生するイン
ターバルタイマとしての機能があります。
■ タイムベースタイマ
タイムベースタイマは,マシンクロックを作成する基になる発振クロックをカウントす
る 18 ビットのカウンタにより構成され , 発振クロックが入力されている間,常にカウ
ント動作を続けます。
タイムベースタイマのクリアは , パワーオンリセット , ストップモード , ハードウェア
スタンバイモードへの遷移 , クロック選択レジスタ (CKSCR) 内の MCS ビット書込み
によるメインクロックから PLL クロックへの遷移 , クロック選択レジスタ (CKSCR) 内
の SCS ビット書込みによるメインクロックからサブクロックへの遷移およびタイム
ベースタイマ制御レジスタ (TBTC) 内の TBR ビットへの "0" 書込みにより行われます。
タイムベースタイマの出力を使用しているウォッチドッグカウンタとインターバル割
込み機能は , タイムベースカウンタのクリアにより影響を受けます。
■ タイムベースタイマのインターバル割込み機能
タイムベースカウンタの桁上り信号により一定周期ごとに割込みを発生します。タイ
ムベースタイマ制御レジスタ (TBTC) 内の TBC1, TBC0 ビットで設定されるインターバ
ル時間ごとに TBOF フラグをセットします。このフラグのセットは , 最後にタイムベー
スタイマがクリアされた時間を基準にして行われます。
メインクロックモードから PLL クロックモードに遷移すると , タイムベースタイマは
PLL クロックの発振安定待ちのタイマとして使用するために , タイムベースタイマの
クリアが行われます。
また , 発振クロックモードからサブクロックモードに遷移すると , タイムベースタイマ
は発振クロックの発振安定待ちのタイマとして使用するために,タイムベースタイマが
クリアされます。
ストップモードおよびハードウェアスタンバイモードに遷移すると,タイムベースタイ
マは復帰時の発振安定待ち時間のタイマとして使用されるので , TBOF フラグはモード
遷移と同時にクリアされます。
156
第 10 章
ウォッチドッグタイマ
ウォッチドッグタイマの機能と動作について説明
します。
10.1 ウォッチドッグタイマの概要
10.2 ウォッチドッグタイマ制御レジスタ (WDTC)
10.3 ウォッチドッグタイマの動作
157
第 10 章 ウォッチドッグタイマ
10.1
ウォッチドッグタイマの概要
ウォッチドッグタイマは , 18 ビットのタイムベースタイマまたは 15 ビットの時計タ
イマの桁上り信号をクロックソースとする 2 ビットのウォッチドッグカウンタ , 制
御レジスタ , ウォッチドッグリセット制御部により構成されています。
■ ウォッチドッグタイマのレジスタ一覧
ウォッチドッグタイマのレジスタのビット構成を図 10.1-1 に示します。
図 10.1-1 ウォッチドッグタイマのレジスタ一覧
7
アドレス : 0000A8H
6
5
4
PONR STBR WRST ERST
(R)
(X)
リード / ライト→
初期値→
(R)
(X)
(R)
(X)
(R)
(X)
3
2
1
0
←ビット No.
SRST
WTE
WT1
WT0
WDTC
(R)
(X)
(W)
(1)
(W)
(1)
(W)
(1)
■ ウォッチドッグタイマのブロックダイヤグラム
図 10.1-2 ウォッチドッグタイマのブロックダイヤグラム
メインクロック
TBTC
TBC1
セレクタ
TBC0
クロック入力
212
214
タイムベースタイマ
216
219
212 214 216 219
TBTRES
TBR
TBIE
AND
Q
S
R
TBOF
タイムベース
割込み
WDTC
WT1
セレクタ
WT0
2ビットカウンタ
OF
CLR
ウォッチドッグ
リセット発生回路
CLR
WTE
WDGRST
内部リセット
発生回路へ
WTC
WDCS
SCE
AND
SCM
パワーオンリセット
サブクロック停止
S
R
Q
210
WTC2
WTC1
WTC0
214
215
時計タイマ
WTR
WTIE
213
セレクタ
WTRES
AND
Q
S
R
クロック入力
サブクロック/4
WTOF
時計
割込み
WDTC
PONR
パワーオン発生から
STBR
ハードウェアスタンバイ
制御回路から
WRST
158
ERST
RST 端子
SRST
LPMCRレジスタの
RSTビットから
第 10 章 ウォッチドッグタイマ
10.2
ウォッチドッグタイマ制御レジスタ (WDTC)
ウォッチドッグタイマ制御レジスタ (WDTC) は , ウォッチドッグタイマ関連の各種
制御を行うビットと各種リセット要因を識別するビットで構成しています。
■ ウォッチドッグタイマ制御レジスタ (WDTC)
ウォッチドッグタイマ制御レジスタ (WDTC) のビット構成を図 10.2-1 に示します。
図 10.2-1 ウォッチドッグタイマ制御レジスタ (WDTC)
7
6
5
4
PONR STBR WRST ERST
アドレス : 0000A8H
(R)
(X)
リード / ライト→
初期値→
(R)
(X)
(R)
(X)
(R)
(X)
3
2
1
0
←ビット No.
SRST
WTE
WT1
WT0
WDTC
(R)
(X)
(W)
(1)
(W)
(1)
(W)
(1)
【bit 7 ∼ bit 3】PONR, STBR, WRST, ERST, SRST
リセットの要因を示すフラグです。各種リセット要因が発生すると ,本ビットは表 10.21 に示すように設定されます。これらのビットはすべて WDTC レジスタのリード動作
後に "0" にクリアされる読出し専用のレジスタです。なお , パワーオン時は , PONR ビッ
ト以外のリセット要因ビットの内容は定義されません。したがって , PONR ビットが
"1" のときはこれ以外のビットの内容を無視するようにしてください。
表 10.2-1 リセット要因ビットとリセット要因
PONR
STBR
WRST
ERST
SRST
パワーオン
1
-
-
-
-
ハードウェアスタンバイ
*
1
*
*
*
ウォッチドッグタイマ
*
*
1
*
*
外部端子
*
*
*
1
*
RST ビット
*
*
*
*
1
リセット要因
*: 前の値を保持します。
【bit 2】WTE
ウォッチドッグタイマが停止状態のときに本ビットに "0" を書き込むことにより
ウォッチドッグタイマを動作状態にします。2 回目以降の "0" の書込みではウォッチ
ドッグタイマのカウンタをクリアします。"1" の書込みは動作に影響はありません。
ウォッチドッグタイマは , パワーオン , ハードウェアスタンバイ , ウォッチドッグタイ
マによるリセットにより停止状態となります。読出し時は "1" が読み出されます。
159
第 10 章 ウォッチドッグタイマ
【bit 1, bit 0】WT1, WT0
ウォッチドッグタイマのインターバル時間を選択します。
ウォッチドッグタイマ起動時に書き込まれたデータのみが有効です。ウォッチドッグ
起動時以外の書込みデータは無視されます。なお , 2 系統品では , 時計タイマ制御レジ
スタ (WTC) 内の WDCS ビットによりウォッチドッグタイマに入力するクロック信号
の選択が行われます ( タイムベースタイマ , 時計タイマ )。
WT1, WT0 ビットによるインターバル時間の設定を , 表 10.2-2 に示します。
表 10.2-2 WT1, WT0 へのアクセス ( 読出し専用 )
WDCS
WT1
インターバル時間 *
WT0
最小
最大
約 3.58 ms
約 4.61 ms
1
0
0
1
0
1
約 14.33 ms
約 18.43 ms
1
1
0
約 57.23 ms
約 73.73 ms
1
1
1
約 458.75 ms
約 589.82 ms
0
0
0
約 0.457 s
約 0.576 s
0
0
1
約 3.584 s
約 4.608 s
0
1
0
約 7.168 s
約 9.216 s
0
1
1
約 14.336 s
約 18.432 s
* : 原発振 4 MHz, サブクロック 32 kHz の場合
<注意事項>
インターバル時間は , タイムベースタイマまたは時計タイマの桁上り信号をカウントク
ロックにしているため , タイムベースタイマまたは時計タイマがクリアされると , ウォッ
チドッグタイマのインターバル時間が長くなる場合があります。
タイムベースタイマはタイムベースタイマ制御レジスタ (TBTC) の TBR ビットへの "0" 書
込みのほか , メインクロックモードから PLL クロックモードへの遷移 , サブクロックモー
ドからメインクロックモードへの遷移 , サブクロックモードから PLL クロックモードへの
遷移時にもクリアされますので , ご注意ください。
160
第 10 章 ウォッチドッグタイマ
10.3
ウォッチドッグタイマの動作
ウォッチドッグタイマの機能は , プログラムの暴走を検出することができます。プロ
グラムの暴走などにより , ウォッチドッグタイマの WTE ビットに "0" 書込みが定め
られた時間内に行われなかった場合 , ウォッチドッグタイマよりウォッチドッグリ
セット要求を発生します。
■ ウォッチドッグタイマの起動方法
ウォッチドッグタイマは,ウォッチドッグタイマの停止中にウォッチドッグタイマ制御
レジスタ (WDTC) 内の WTE ビットに "0" を書き込むことによって起動します。このと
き , 同時にウォッチドッグタイマのインターバル時間を WT1, WT0 ビットにより設定
します。インターバルの設定は , この起動のときのデータのみが有効となります。
■ ウォッチドッグタイマのリセット
ウォッチドッグタイマが起動されると , プログラムで定期的に 2 ビットのウォッチドッ
グカウンタをクリアする必要があります。具体的には , ウォッチドッグタイマ制御レジ
スタ (WDTC) 内の WTE ビットに定期的に "0" を書き込む必要があります。ウォッチ
ドッグカウンタは , タイムベースタイマの桁上り信号をクロックソースとする 2 ビット
のカウンタにより構成されています。したがって , タイムベースタイマがクリアされる
と , ウォッチドッグリセットのインターバルが設定より長くなることがあります。
ウォッチドッグタイマの動作を , 図 10.3-1 に示します。
図 10.3-1 ウォッチドッグタイマ動作
タイムベース
ウォッチドッグ
00B
01B
10B
00B
01B
10B
11B
00B
WTEライト
ウォッチドッグ起動 ウォッチドッグクリア
ウォッチドッグリセット
発生
■ ウォッチドッグカウンタの停止
ウォッチドッグタイマは一度起動すると,パワーオン,ハードウェアスタンバイ,ウォッ
チドッグによるリセットでのみ初期化され停止状態となります。
外部端子 , ソフトウェアによるリセットでは , ウォッチドッグカウンタをクリアします
が , ウォッチドッグ機能は停止されません。
■ ウォッチドッグカウンタのクリア
ウォッチドッグカウンタは , ウォッチドッグタイマ制御レジスタ (WDTC) 内の WTE
ビットに "0" を書き込むほかに , リセットの発生 , スリープモード , ストップモードま
たはホールドアクノリッジ信号への遷移によってクリアされます。
161
第 10 章 ウォッチドッグタイマ
162
第 11 章
時計タイマ
時計タイマの機能と動作について説明します。
時計タイマは 1 系統品では使用できません。
11.1 時計タイマの概要
11.2 時計タイマ制御レジスタ (WTC)
11.3 時計タイマの動作
163
第 11 章 時計タイマ
11.1
時計タイマの概要
時計タイマは , 15 ビットのタイマのほかに , インターバル割込みを制御する回路か
ら構成されています。なお , 時計タイマは , クロック選択レジスタ (CKSCR) 内の
MCS ビットおよび SCS ビットに関係なく , サブクロック信号を使用します。
■ 時計タイマのレジスタ
時計タイマのレジスタのビット構成を図 11.1-1 に示します。
図 11.1-1 時計タイマのレジスタ一覧
7
6
5
4
3
アドレス : 0000AAH
WDCS
SCE
WTIE
WTOF
WTR
WTC2 WTC1 WTC0
2
1
リード / ライト→
初期値→
(R/W)
(1)
(R/W)
(X)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
0
←ビット No.
WTC
(R/W)
(0)
■ 時計タイマのブロックダイヤグラム
図 11.1-2 時計タイマのブロックダイヤグラム
メインクロック
TBTC
TBC1
セレクタ
TBC0
クロック入力
212
214
16
2
タイムベースタイマ
219
212 214 216 219
TBTRES
TBR
TBIE
AND
Q
TBOF
S
R
タイムベース
割込み
WDTC
WT1
セレクタ
WT0
2ビットカウンタ
OF
CLR
ウォッチドッグ
リセット発生回路
CLR
WTE
WDGRST
内部 リセット
発生回路へ
WTC
WDCS
SCE
AND
SCM
パワーオンリセット
サブクロック停止
S
R
Q
210
WTC2
WTC1
WTC0
WTOF
214
215
時計タイマ
WTR
WTIE
213
セレクタ
WTRES
AND
Q
S
R
クロック入力
サブクロック/4
時計
割込み
WDTC
PONR
パワーオン発生から
STBR
ハードウェアスタンバイ
制御回路から
WRST
164
ERST
RST 端子
SRST
LPMCRレジスタの
RSTビットから
第 11 章 時計タイマ
11.2
時計タイマ制御レジスタ (WTC)
時計タイマ制御レジスタ (WTC) は , 時計タイマの動作を制御します。また , イン
ターバル割込みの時間を制御します。
■ 時計タイマ制御レジスタ (WTC)
時計タイマ制御レジスタ (WTC) のビット構成を図 11.2-1 に示します。
図 11.2-1 時計タイマ制御レジスタ (WTC)
7
6
5
4
3
2
1
0
アドレス : 0000AAH
WDCS
SCE
WTIE
WTOF
WTR
WTC2 WTC1 WTC0
リード / ライト→
初期値→
(R/W)
(1)
(R/W)
(X)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
←ビット No.
WTC
(R/W)
(0)
【bit 7】WDCS
ウォッチドッグタイマの入力クロックとして,時計タイマのクロック信号を使用するの
かまたはタイムベースタイマのクロック信号を使用するのかを選択するビットです。
< メインクロックモードまたは PLL クロックモード時 >
WDCS 1:タイムベースタイマ
0:時計タイマ
< サブクロックモード時 >
WDCS 必ず "0" を書き込んでください。
パワーオンリセットにより , 本ビットは "1" に初期化されます。
<注意事項>
WDCS を "1" に設定した場合には , タイムベースタイマの出力と時計タイマの出力は非同
期であるため , ウォッチドッグタイマのカウンタが進む可能性があります。このため ,
WDCS を "1" に設定した場合には , クロックモードを変更する前後で , ウォッチドッグタ
イマをクリアする必要があります。
サブクロックモード時にウォッチドッグタイマの入力としてタイムベースタイマを選択
(WDCS=1) した場合にはウォッチドッグタイマは停止します。
サブクロックモード時にウォッチドッグタイマを使用する場合は必ず時計タイマを選択
(WDCS=0) してください。
【bit 6】SCE
サブクロックの発振安定待ち時間が経過したことを示すビットです。本ビットが "0" の
とき,発振安定待ち時間が現在進行中であることを示しています。発振安定待ち時間は,
214 サイクル ( サブクロック ) 固定です。パワーオンリセット時およびストップ時に ,
本ビットは "0" に初期化されます。
165
第 11 章 時計タイマ
【bit 5】WTIE
時計タイマによるインターバル割込みを許可するビットです。本ビットが "1" のとき
に割込みを許可し , "0" のときに割込みを禁止します。リセットにより本ビットは "0"
に初期化されます。読み書き可能なビットです。
【bit 4】WTOF
時計タイマの割込みフラグです。WTIE ビットが "1" のときに , WTOF を "1" に設定す
ると割込み要求が発生します。本ビットは , WTC1, WTC0 ビットで設定したインター
バル時間ごとに "1" に設定されます。本ビットは , "0" の書込み , ストップモード , ハー
ドウェアスタンバイモードへの遷移およびリセットによりクリアされます。"1" の書込
みは動作に影響はありません。
リードモディファイライト系命令によるリード時には , 常に "1" が読み出されます。
【bit 3】WTR
時計タイマのカウンタを全ビット "0" にクリアするビットです。本ビットに "0" を書き
込むことにより , 時計カウンタをクリアします。"1" の書込みは動作に影響はありませ
ん。常に "1" が読み出されます。
【bit 2 ∼ bit 0】WTC2 ∼ WTC0
時計タイマのインターバル時間を設定するビットです。表 11.2-1 にインターバル時間
の設定を示します。リセットにより本ビットは "000B" に初期化されます。読み書き可
能なビットです。
本ビットに書き込むときには , ビット 4(WTOF) もクリアしてください。
表 11.2-1 時計タイマ インターバル時間の設定
166
WTC2
WTC1
WTC0
インターバル時間 ( サブクロック 32 kHz)
0
0
0
62.5 ms
0
0
1
125 ms
0
1
0
250 ms
0
1
1
500 ms
1
0
0
1.000 s
1
0
1
2.000 s
1
1
0
4.000 s
1
1
1
-
第 11 章 時計タイマ
11.3
時計タイマの動作
時計タイマは , ウォッチドッグカウンタのクロックソース , サブクロックの発振安定
待ち時間のためのタイマ , 一定周期ごとに割込みを発生するインターバルタイマとし
ての機能があります。
■ 時計タイマ
時計タイマは , サブクロックにより発生する発振入力をカウントする 15 ビットのカウ
ンタにより構成され , サブクロックが入力されている間,時計タイマはカウント動作を
続けます。時計タイマのクリアは , パワーオンリセットおよび時計タイマ制御レジスタ
(WTC) 内の WTR ビットへの "0" の書込みにより行われます。
<注意事項>
• 時計タイマの出力を使用しているウォッチドックカウンタとインターバル割込みは,時
計カウンタのクリアにより影響を受けます。
• 時計タイマ制御レジスタ (WTC) の WTR ビットに "0" を設定して時計タイマをクリア
する場合は , WTIE ビットに "0" を設定し , 時計タイマの割込みを禁止した状態で行っ
てください。
また , 割込みを許可する前に , WTOF ビットへの "0" 設定による割込み要求のクリアを
行ってください。
■ 時計タイマのインターバル割込み機能
インターバル割込み機能は,時計カウンタの桁上り信号により一定周期ごとに割込みを
発生します。時計タイマ制御レジスタ (WTC) 内の WTC1, WTC0 ビットで設定される
インターバル時間ごとに WTOF フラグをセットします。このフラグ設定のタイミング
は , 最後に時計タイマがクリアされた時間を基準にして行われます。
ストップモードおよびハードウェアスタンバイモードに遷移すると,時計タイマは復帰
時のサブクロックの発振安定待ち時間のタイマとして使用されるので , WTOF フラグ
はモード遷移と同時にクリアされます。
■ ウォッチドッグタイマの動作クロックの設定
時計タイマ制御レジスタ (WTC) のウォッチドッグクロック選択ビット (WDCS) に
よって , ウォッチドッグタイマのクロックソースを設定できます。マシンクロックとし
てサブクロックを使用する場合 , 必ず WDCS ビットを "0" に設定して , 時計タイマの出
力を選択してください。WDCS ビットを "1" に設定した状態で , サブクロックモードへ
移行した場合 , ウォッチドッグタイマは停止します。
167
第 11 章 時計タイマ
168
第 12 章
16 ビット入出力タイマ
16 ビット入出力タイマの機能と動作について説明
します。
12.1 16 ビット入出力タイマの概要
12.2 16 ビット入出力タイマのレジスタ
12.3 16 ビットフリーランタイマ
12.4 アウトプットコンペア
12.5 インプットキャプチャ
169
第 12 章 16 ビット入出力タイマ
12.1
16 ビット入出力タイマの概要
MB90540/545 シリーズは , 16 ビットフリーランタイマモジュール 1 本 , アウトプッ
トコンペアモジュール 2 本 , インプットキャプチャモジュール 4 本のモジュールか
ら構成され , 8 個の入力チャネルおよび 4 個の出力チャネルをサポートしています。
ここでは , 16 ビットフリーランタイマ , アウトプットコンペア 0/1 およびインプッ
トキャプチャ 0/1 について説明します。残りのモジュールの機能も同様であり , レジ
スタアドレスに関しては ,「付録 A I/O マップ」を参照してください。
■ 16 ビットフリーランタイマ
16 ビットフリーランタイマは 16 ビットのアップカウンタ , 制御レジスタ , プリスケー
ラより構成されています。本タイマカウンタの出力値はインプットキャプチャ, アウト
プットコンペアの基本時間 ( ベースタイマ ) として使用されます。
• カウンタクロックは 4 種類から選択可能
内部クロック 4 種類 (φ/4, φ/16, φ/64, φ/256)
• 割込みはカウンタ値のオーバフロー , コンペアレジスタ 0 とのコンペアマッチによ
り発生可能
• カウンタ値はリセット , ソフトクリア , コンペアレジスタ 0 とのコンペアマッチに
より "0000H" に初期化可能
■ アウトプットコンペア ( モジュールごとに 2 チャネル )
アウトプットコンペアモジュールは 2 本の 16 ビットコンペアレジスタ , コンペア出力
用ラッチ , 制御レジスタより構成されています。16 ビットフリーランタイマ値とコン
ペアレジスタ値が一致したとき出力レベルを反転すると共に割込みを発生することが
できます。
• 2 本のコンペアレジスタを独立して動作
各コンペアレジスタに対応した出力端子と割込みフラグ
• 2 本のコンペアレジスタをペアにして出力端子を制御可能
コンペアレジスタ 2 本を使用して出力端子を反転
• 出力端子の初期値を設定することが可能
• 割込みはコンペア一致により発生可能
■ インプットキャプチャ ( モジュールごとに 2 チャネル )
インプットキャプチャモジュールは独立した 2 本の外部入力端子と対応した 16 ビット
キャプチャレジスタ , 制御レジスタにより構成されています。外部入力端子より入力さ
れた信号の任意エッジを検出することにより 16 ビットフリーランタイマ値をキャプ
チャレジスタに保持し , 同時に割込みを発生することができます。
• 外部入力信号の検出エッジを選択可能
立上りエッジ , 立下りエッジ , 両エッジから選択可能
• 2 本のインプットチャネルは独立して動作可能
• 割込みは外部入力信号の有効エッジにより発生可能
インプットキャプチャの割込みによりインテリジェント I/O サービスを起動可能
170
第 12 章 16 ビット入出力タイマ
■ 16 ビット入出力タイマのブロックダイヤグラム
図 12.1-1 に , 16 ビット入出力タイマのブロックダイヤグラムを示します。
図 12.1-1 16 ビット入出力タイマのブロックダイヤグラム
制御ロジック
各ブロックへ
割込み
16ビットフリーランタイマ
16ビットタイマ1
内部データバス
クリア
アウトプットコンペア0
コンペアレジスタ0
アウトプットコンペア1
コンペアレジスタ1
○
○
T
Q
OUT0
T
Q
OUT1
エッジ選択
IN0
エッジ選択
IN1
インプットキャプチャ0
キャプチャレジスタ0
インプットキャプチャ1
キャプチャレジスタ1
171
第 12 章 16 ビット入出力タイマ
12.2
16 ビット入出力タイマのレジスタ
16 ビット入出力タイマのレジスタには , 次の 3 つがあります。
• 16 ビットフリーランタイマのレジスタ
• 16 ビットアウトプットコンペアのレジスタ
• 16 ビットインプットキャプチャのレジスタ
■ 16 ビット入出力タイマのレジスタ
16 ビット入出力タイマのレジスタのビット構成を図 12.2-1 に示します。
図 12.2-1 16 ビット入出力タイマのレジスタ
○16ビットフリーランタイマのレジスタ
15
0
アドレス:00006CH
タイマカウンタデータレジスタ
TCDT
7
0
アドレス:00006EH
タイマカウンタ制御
ステータスレジスタ
TCCS
○16ビットアウトプットコンペアのレジスタ
15
0
アドレス: 003928H
00392AH
OCCP0/1
アウトプットコンペアレジスタ0,1
0
15
アドレス: 000058H
OCS1
アウトプットコンペア制御
ステータスレジスタ0,1
OCS0
○16ビットインプットキャプチャのレジスタ
アドレス: 003918H
00391AH
0
15
インプットキャプチャ
データレジスタ0,1
IPCP0/1
7
アドレス:00004CH
172
0
ICS01
インプットキャプチャ
制御ステータスレジスタ0,1
第 12 章 16 ビット入出力タイマ
16 ビットフリーランタイマ
12.3
16 ビットフリーランタイマは , 16 ビットのアップカウンタと制御ステータスレジス
タから構成されています。カウント値はアウトプットコンペア , インプットキャプ
チャの基本時間 ( ベースタイマ ) として使用されます。
• カウントクロックは 4 種類から選択可能です。
• カウンタオーバフロー割込みを発生することができます。
• モード設定によりアウトプットコンペアのコンペアレジスタ 0 の値との一致によ
るカウンタの初期化が可能です。
■ 16 ビットフリーランタイマのブロックダイヤグラム
図 12.3-1 16 ビットフリーランタイマのブロックダイヤグラム
マシンクロック(φ)
割込み要求
内部データバス
IVF
IVFE STOP MODE CLR
CLK1 CLK0
分周器
(TCCS)
コンパレータ0
16ビットフリーランタイマ
クロック
T15~T00
カウント値出力
173
第 12 章 16 ビット入出力タイマ
12.3.1
16 ビットフリーランタイマのレジスタ
データレジスタは , 16 ビットフリーランタイマのカウント値を読み出すことができ
るレジスタです。カウンタ値はリセット時に "0000B" にクリアされます。このレジ
スタに書き込むことで , タイマ値を設定できますが必ず停止 (STOP=1) 状態で行っ
てください。このレジスタはワードアクセスしてください。
■ タイマカウンタデータレジスタ (TCDT)
タイマカウンタデータレジスタ (TCDT) のビット構成を図 12.3-2 に示します。
図 12.3-2 タイマカウンタデータレジスタ (TCDT)
15
アドレス : 00006DH
リード / ライト→
初期値→
アドレス : 00006CH
リード / ライト→
初期値→
14
13
12
11
10
9
8
←ビット No.
T15
T14
T13
T12
T11
T10
T09
T08
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
7
6
5
4
3
2
1
0
←ビット No.
T07
(R/W)
(0)
T06
(R/W)
(0)
T05
(R/W)
(0)
T04
(R/W)
(0)
T03
(R/W)
(0)
T02
(R/W)
(0)
T01
(R/W)
(0)
T00
(R/W)
(0)
TCDT
16 ビットフリーランタイマの初期化は次の要因で行われます。
• リセットによる初期化
• タイマ制御ステータスレジスタのクリアビット (CLR) による初期化
• コンペアのコンペアレジスタ 0 とタイマカウンタ値の一致による初期化
( モードの設定が必要です。)
174
第 12 章 16 ビット入出力タイマ
12.3.2
タイマカウンタ制御ステータスレジスタ (TCCS)
タイマカウンタ制御ステータスレジスタ (TCCS) は , 16 ビットフリーランタイマの
動作モードの設定 , 起動・停止や割込みの制御を行います。
■ タイマカウンタ制御ステータスレジスタ (TCCS)
タイマカウンタ制御ステータスレジスタ (TCCS) のビット構成を図 12.3-3 に示します。
図 12.3-3 タイマカウンタ制御ステータスレジスタ (TCCS)
7
6
アドレス : 00006EH
予約
リード / ライト→ (R/W)
(0)
初期値→
5
4
3
IVF
IVFE
STOP MODE
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
2
1
0
←ビット No.
TCCS
CLR
CLK1
CLK0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
【bit 7】予約ビット
本ビットには必ず "0" を書き込んでください。
【bit 6】IVF
16 ビットフリーランタイマの割込み要求フラグです。
16 ビットフリーランタイマがオーバフローを起こしたときまたはモード設定によりコ
ンペアレジスタ 0 とコンペアマッチしてカウンタクリアされたときに本ビットは "1" に
セットされます。
割込み要求許可ビット (bit5 : IVFE) がセットされていると割込みが発生します。
本ビットは "0" 書込みによりクリアされます。"1" 書込みは意味を持ちません。
リードモディファイライト系命令では "1" が読めます。
0
割込み要求なし ( 初期値 )
1
割込み要求あり
【bit 5】IVFE
16 ビットフリーランタイマの割込み許可ビットです。本ビットが "1" のとき , 割込み
フラグ (bit5:IVF) が "1" にセットされると割込みが発生します。
0
割込み禁止 ( 初期値 )
1
割込み許可
【bit 4】STOP
16 ビットフリーランタイマのカウントを停止するためのビットです。
"1" 書込み時にタイマのカウント停止。"0" 書込み時にタイマのカウントを開始。
0
カウント許可 ( 動作 )( 初期値 )
1
カウント禁止 ( 停止 )
175
第 12 章 16 ビット入出力タイマ
<注意事項>
16 ビットフリーランタイマのカウントが停止すると, アウトプットコンペア動作も停止し
ます。
【bit 3】MODE
16 ビットフリーランタイマの初期化条件を設定します。
"0" のときはリセットとクリアビット (bit2 : CLR) でカウンタ値を初期化可能です。
"1" のときはリセットとクリアビット (bit2 : CLR) のほかにアウトプットコンペアのコ
ンペアレジスタ 0 の値との一致によりカウンタ値を初期化することができます。
0
リセット , クリアビットによる初期化 ( 初期値 )
1
リセット , クリアビット , コンペアレジスタ 0 による初期化
<注意事項>
クリアビットとコンペアレジスタとの一致により , タイマ値の変化点でタイマの初期値が
行われます。
【bit 2】CLR
動作中の 16 ビットフリーランタイマ値を "0000B" に初期化するビットです。
"1" 書込み時にカウンタ値を "0000B" に初期化します。"0" を書き込んでも意味を持ち
ません。リード値は常に "0" です。カウンタ値の初期化はカウント値の変化点で行わ
れます。
0
意味を持ちません ( 初期値 )
1
カウンタ値を "0000B" に初期化します
<注意事項>
タイマ停止中に初期化する場合はデータレジスタに "0000H" を書き込んでください。
【bit 1, bit 0】CLK1, CLK0
16 ビットフリーランタイマのカウントクロックを選択します。本ビットに書き込み後
すぐにクロックは変更されますのでアウトプットコンペア,インプットキャプチャが停
止状態のときに変更してください。
CLK1
CLK0
カウントクロック
分周比
φ=16 MHz
φ= 8 MHz
φ= 4 MHz
φ= 2 MHz
0
0
φ/4
0.25 µs
0.5 µs
1 µs
2 µs
0
1
φ/16
1 µs
2 µs
4 µs
8 µs
1
0
φ/64
4 µs
8 µs
16 µs
32 µs
1
1
φ/256
16 µs
32 µs
64 µs
128 µs
( 注意事項 ) φ: マシンクロック
176
第 12 章 16 ビット入出力タイマ
16 ビットフリーランタイマの動作
12.3.3
16 ビットフリーランタイマはリセット解除後にカウンタ値 "0000H" よりカウントを
開始します。このカウンタ値が 16 ビットアウトプットコンペアと 16 ビットイン
プットキャプチャの基準時間となります。
■ 16 ビットフリーランタイマの動作
カウンタ値は , 次の 5 つの条件でクリアされます。
• オーバフローが発生したとき
• アウトプットコンペアレジスタ 0 値とコンペアマッチしたとき ( モード設定が必要 )
• 動作中に TCCS レジスタの CLR ビットに "1" を書き込んだとき
• 停止中に TCDT レジスタに "0000H" を書き込んだとき
• リセット時
割込みはオーバフローが発生したときと , コンペアレジスタ 0 値とコンペアマッチして
カウンタクリアされたときに発生することができます ( コンペアマッチ割込みはモー
ド設定が必要です )。
図 12.3-4 オーバフローによるカウンタクリア
カウンタ値
オーバフロー
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
割込み
図 12.3-5 アウトプットコンペアレジスタ 0 値とコンペアマッチしたときのカウンタクリア
カウンタ値
FFFFH
BFFFH
一致
一致
7FFFH
3FFFH
0000H
時間
リセット
コンペア
レジスタ値
割込み
BFFFH
177
第 12 章 16 ビット入出力タイマ
■ 16 ビットフリーランタイマのタイミング
図 12.3-6 に示すように , 16 ビットフリーランタイマは , 入力されたクロック ( 内部また
は外部クロック ) によりカウントアップされます。外部クロック選択時は立上りエッ
ジ↑でカウントされます。
図 12.3-6 16 ビットフリーランタイマのカウントタイミング
マシンクロック(φ)
外部クロック入力
カウントクロック
カウンタ値
N+1
N
図 12.3-7 に示すように , カウンタのクリアはリセット , ソフトウェアのクリア , コンペ
アレジスタ 0 との一致で行うことができます。リセットとソフトウェアのクリアでの
カウンタクリアはクリア発生とともに行われますが , コンペアレジスタ 0 との一致によ
るカウンタクリアはカウントタイミングに同期して行われます。
図 12.3-7 16 ビットフリーランタイマのクリアタイミング ( コンペアレジスタ 0 との一致 )
マシンクロック(φ)
N
コンペアレジスタ値
コンペアマッチ
カウンタ値
178
N
0000H
第 12 章 16 ビット入出力タイマ
12.4
アウトプットコンペア
アウトプットコンペアモジュールは , 2 つの 16 ビットコンペアレジスタ , 2 本のコ
ンペア出力端子および制御レジスタから構成されています。コンペアレジスタに設
定された値と 16 ビットフリーランタイマ値が一致したら , 端子の出力レベルを反転
すると共に割込みを発生することができます。
■ アウトプットコンペア
• コンペアレジスタは全部で 2 本あり , 独立して動作させることができます。また設
定により 2 本のコンペアレジスタを使い端子の出力を制御可能です。
• 端子の出力初期値を設定することができます。
• 割込みはコンペア一致により発生可能です。
■ アウトプットコンペアのブロックダイヤグラム
図 12.4-1 アウトプットコンペアのブロックダイヤグラム
16ビットタイマカウンタ値(T15~T00)
コンペア制御
T Q
コンペアレジスタ0
OTE0
OUT0
CMOD
16ビットタイマカウンタ値(T15~T00)
T Q
OTE1
OUT1
コンペア制御
コンペアレジスタ1
ICP1 ICP0 ICE1 ICE0
制御部
コンペア1割込み
コンペア0割込み
各制御ブロック
179
第 12 章 16 ビット入出力タイマ
12.4.1
アウトプットコンペアのレジスタ
16 ビットフリーランタイマと比較する 16 ビット長のコンペアレジスタです。レジ
スタ値は初期値不定ですので設定した後,起動許可してください。本レジスタは
ワードアクセスしてください。本レジスタ値と 16 ビットフリーランタイマ値が一致
したときコンペア信号が発生してアウトプットコンペア割込みフラグをセットしま
す。また , 出力許可をしている場合はコンペアレジスタに対応した出力レベルを反転
します。
■ アウトプットコンペアのコンペアレジスタ (OCCP)
コンペアレジスタ (OCCP) のビット構成を図 12.4-2 に示します。
図 12.4-2 コンペアレジスタ (OCCP)
アドレス:003929H
00392BH
リード / ライト→
初期値→
アドレス:003928H
00392AH
リード / ライト→
初期値→
180
15
14
13
12
11
10
9
8
C15
C14
C13
C12
C11
C10
C09
C08
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
7
6
5
4
3
2
1
0
C07
C06
C05
C04
C03
C02
C01
C00
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
←ビット No.
←ビット No.
OCCP0,
OCCP1
第 12 章 16 ビット入出力タイマ
12.4.2
アウトプットコンペアの制御ステータスレジスタ
(OCS0/1)
制御ステータスレジスタ (OCS0/1) は , アウトプットコンペアの動作モードの設定 ,
起動・停止や割込みの制御 , 外部出力端子の設定を行います。
■ アウトプットコンペアの制御ステータスレジスタ (OCS0/1)
制御ステータスレジスタ (OCS0/1) のビット構成を図 12.4-3 に示します。
図 12.4-3 制御ステータスレジスタ (OCS0/1)
15
14
13
12
11
10
9
8
アドレス:000059H
─
─
─
CMOD
OTE1
OTE0
OTD1
OTD0
リード / ライト→
(-)
(-)
(-)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(-)
(-)
(-)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
←ビット No.
OCS0/1
アドレス:000058H
ICP1
ICP0
ICE1
ICE0
─
─
CST1
CST0
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(-)
(-)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(-)
(-)
(0)
(0)
初期値→
←ビット No.
【bit 15 ∼ bit 13】未使用ビット
【bit 12】CMOD
端子出力を許可した場合 (OTE1=1 または OTE0=1) のコンペア一致における端子出力レ
ベル反転動作モードを切り換えます。
• CMOD=0 のとき ( 初期値 ) はコンペアレジスタに対応した端子の出力レベルを反転
します。
- OUT0: コンペアレジスタ 0 の一致によりレベルを反転します。
- OUT1: コンペアレジスタ 1 の一致によりレベルを反転します。
• CMOD=1 のときコンペアレジスタ 0 は , CMOD=0 時と同じく出力レベルを反転しま
すが , コンペアレジスタ 1 に対応した端子 (OUT1) の出力レベルは , コンペアレジス
タ 0 の一致とコンペアレジスタ 1 の一致の両方で出力レベルを反転します。コンペ
アレジスタ 0 と 1 が同値のときはコンペアレジスタ 1 本のときと同じ動作をします。
- OUT0: コンペアレジスタ 0 の一致によりレベルを反転します。
- OUT1: コンペアレジスタ 0 または 1 の一致によりレベルを反転します。
【bit 11, bit 10】OTE1, OTE0
アウトプットコンペアの端子出力を許可するビットです。本ビットは初期値 "0" です。
0
汎用ポートとして動作します ( 初期値 )。
1
アウトプットコンペア端子出力になります。
181
第 12 章 16 ビット入出力タイマ
<注意事項>
OTE1: アウトプットコンペア 1(OUT1) に対応
OTE0: アウトプットコンペア 0(OUT0) に対応
【bit 9, bit 8】OTD1, OTD0
アウトプットコンペアの端子出力を許可した場合の端子出力レベルを変更するときに
使用します。コンペア端子出力の初期値は "0" となります。書込み時はコンペア動作
を停止してから行ってください。読出し時はアウトプットコンペア端子出力値が読め
ます。
0
コンペア端子出力を "0" にします ( 初期値 )。
1
コンペア端子出力を "1" にします。
<注意事項>
OTD1: アウトプットコンペア 1 に対応
OTD0: アウトプットコンペア 0 に対応
【bit 7, bit 6】ICP1, ICP0
アウトプットコンペアの割込みフラグです。コンペアレジスタと 16 ビットフリーラン
タイマ値が一致した場合に "1" にセットされます。割込み要求ビット (ICE1, ICE0) が許
可されているときに本ビットがセットされるとアウトプットコンペア割込みが発生し
ます。本ビットは "0" 書込みによりクリアされ , "1" 書込みでは意味をもちません。リー
ドモディファイライト系命令では "1" が読めます。
0
コンペア一致なし ( 初期値 )
1
コンペア一致あり
<注意事項>
ICP1: アウトプットコンペア 1 に対応
ICP0: アウトプットコンペア 0 に対応
【bit5, bit4】ICE1, ICE0
アウトプットコンペアの割込み許可ビットです。本ビットが "1" のとき割込みフラグ
(ICP0, ICP1) がセットされるとアウトプットコンペア割込みが発生します。
0
アウトプットコンペア割込み禁止 ( 初期値 )
1
アウトプットコンペア割込み許可
<注意事項>
ICE1: アウトプットコンペア 1 に対応
ICE0: アウトプットコンペア 0 に対応
【bit 3, bit 2】未使用ビット
182
第 12 章 16 ビット入出力タイマ
【bit 1, bit 0】CST1, CST0
16 ビットフリーランタイマとの一致動作を許可するビットです。
0
コンペア動作禁止 ( 初期値 )
1
コンペア動作許可
コンペア動作許可をする前にコンペアレジスタ値を設定してください。
<注意事項>
CST1: アウトプットコンペア 1 に対応
CST0: アウトプットコンペア 0 に対応
アウトプットコンペアは 16 ビットフリーランタイマのクロックと同期させているため 16
ビットフリーランタイマを停止させるとコンペア動作も停止します。
183
第 12 章 16 ビット入出力タイマ
12.4.3
16 ビットアウトプットコンペアの動作
16 ビットアウトプットコンペアは , 設定されたコンペアレジスタ値と 16 ビットフ
リーランタイマとの値を比較して一致したら割込み要求フラグをセットするととも
に , 出力レベルを反転することができます。
■ コンペアレジスタ 0, 1 を使用したときの出力波形例 ( 出力の初期値は "0" とする )
図 12.4-4 コンペアレジスタ 0, 1 を使用したときの出力波形例 ( 出力の初期値は "0" とする )
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
コンペアレジスタ0値
BFFFH
コンペアレジスタ1値
7FFFH
OUT0
OUT1
コンペア0割込み
コンペア1割込み
2組のコンペアレジスタを使い,出力レベルを変えることができます(CMOD=1のとき)。
■ 2 組のコンペアレジスタによる出力波形例 ( 出力の初期値は "0" とする )
図 12.4-5 2 組のコンペアレジスタによる出力波形例 ( 出力の初期値は "0" とする )
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
コンペアレジスタ0値
BFFFH
コンペアレジスタ1値
7FFFH
OUT0
OUT1
コンペア0割込み
コンペア1割込み
184
コンペア0に
対応
コンペア0と
1に対応
第 12 章 16 ビット入出力タイマ
■ アウトプットコンペアのタイミング
アウトプットコンペアは,フリーランタイマと設定したコンペアレジスタの値が一致し
たときにコンペアマッチ信号が発生して出力値を反転するとともに割込みを発生する
ことができます。コンペアマッチ時の出力反転タイミングはカウンタのカウントタイ
ミングに同期して行われます。
図 12.4-6 に示すように , コンペアレジスタ書換え時のカウンタ値とはコンペアしませ
ん。
図 12.4-6 コンペアレジスタ書換え時のコンペア動作
N
カウンタ値
N+1
N+2
N+3
一致信号は発生しない。
コンペアレジスタ0値
N+1
M
コンペアレジスタ0
ライト
コンペアレジスタ1値
N+3
M
コンペアレジスタ1
ライト
コンペア0停止
コンペア1停止
図 12.4-7 にアウトプットコンペアの割込みタイミングを , 図 12.4-8 にアウトプットコ
ンペアの出力端子変化タイミングを示します。
図 12.4-7 アウトプットコンペアの割込みタイミング
マシンクロック( φ )
N+1
N
カウンタ値
N
コンペアレジスタ値
コンペアマッチ
割込み
図 12.4-8 アウトプットコンペアの出力端子変化タイミング
カウンタ値
コンペアレジスタ値
N
N
N+1
N+1
N
コンペアマッチ信号
端子出力
185
第 12 章 16 ビット入出力タイマ
インプットキャプチャ
12.5
インプットキャプチャは外部から入力された信号の立上りエッジ , 立下りエッジまた
は両エッジを検出して , そのときの 16 ビットフリーランタイマ値をレジスタに保持
する機能を持っています。また , エッジ検出時に割込みを発生することができます。
インプットキャプチャは , インプットキャプチャデータレジスタ , 制御ステータスレ
ジスタで構成されています。
■ インプットキャプチャ
各インプットキャプチャは , それぞれに対応した外部入力端子を持っています。
● 外部入力の検出エッジを 3 種類から選択可能です。
• 立上りエッジ ( ↑ )
• 立下りエッジ ( ↓ )
• 両エッジ ( ↑↓ )
● 外部入力の有効エッジを検出したときに割込みを発生することができます。
■ インプットキャプチャのブロックダイヤグラム
図 12.5-1 インプットキャプチャの全体ブロックダイヤグラム
キャプチャデータレジスタ0
内部データバス
16ビットタイマカウンタ値
(T15~T00)
キャプチャデータレジスタ1
エッジ検出
IN0
EG11 EG10 EG01 EG00
エッジ検出
IN1
ICP1 ICP0 ICE1 ICE0
割込み
割込み
186
第 12 章 16 ビット入出力タイマ
12.5.1
インプットキャプチャのレジスタ
インプットキャプチャのレジスタは , 次の 2 つがあり , 対応した外部端子入力波形の
有効エッジを検出したとき 16 ビットタイマ値を保持するレジスタです ( ワードアク
セスしてください。書込みはできません )。
■ インプットキャプチャデータレジスタ (IPCP0/1)
インプットキャプチャデータレジスタ (IPCP0/1) のビット構成を図 12.5-2 に示します。
図 12.5-2 インプットキャプチャデータレジスタ (IPCP0/1)
アドレス:003919H
00391BH
15
14
13
12
11
10
9
8
CP15
CP14
CP13
CP12
CP11
CP10
CP09
CP08
リード / ライト→
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
アドレス:003918H
00391AH
7
6
5
4
3
2
1
0
CP07
CP06
CP05
CP04
CP03
CP02
CP01
CP00
リード / ライト→
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
←ビット No.
←ビット No.
IPCP0/1
■ インプットキャプチャ制御ステータスレジスタ (ICS01)
インプットキャプチャ制御ステータスレジスタ (ICS01) のビット構成を図 12.5-3 に示
します。
図 12.5-3 インプットキャプチャ制御ステータスレジスタ (ICS01)
7
6
5
4
3
2
1
0
アドレス:00004CH
ICP1
ICP0
ICE1
ICE0
EG11
EG10
EG01
EG00
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値→
←ビット No.
ICS01
【bit 7, bit 6】ICP1, ICP0
インプットキャプチャ割込みフラグです。外部入力端子の有効エッジを検出すると本
ビットを "1" にセットします。割込み許可ビット (ICE0, ICE1) がセットされていると有
効エッジを検出することにより割込みを発生することができます。
本ビットは "0" 書込みによりクリアされます。"1" 書込みは意味を持ちません。リード
モディファイライト系命令では "1" が読めます。
0
有効エッジ検出なし ( 初期値 )
1
有効エッジ検出あり
187
第 12 章 16 ビット入出力タイマ
<注意事項>
ICP0: インプットキャプチャ 0 に対応
ICP1: インプットキャプチャ 1 に対応
【bit 5, bit 4】ICE1, ICE0
インプットキャプチャ割込み許可ビットです。本ビットが "1" のとき割込みフラグ
(ICP0, ICP1) がセットされるとインプットキャプチャ割込みが発生します。
0
割込み禁止 ( 初期値 )
1
割込み許可
<注意事項>
ICE0: インプットキャプチャ 0 に対応
ICE1: インプットキャプチャ 1 に対応
【bit 3 ∼ bit 0】EG11, EG10, EG01 , EG00
外部入力の有効エッジ極性を指定します。インプットキャプチャ動作許可も兼用して
います。
EG11
EG01
EG10
EG00
0
0
エッジ検出なし ( 停止状態 ) ( 初期値 )
0
1
立上りエッジ検出 ↑
1
0
立下りエッジ検出 ↓
1
1
両エッジ検出 ↑↓
エッジ検出極性
<注意事項>
EG01, EG00: インプットキャプチャ 0 に対応
EG11, EG10: インプットキャプチャ 1 に対応
188
第 12 章 16 ビット入出力タイマ
16 ビットインプットキャプチャの動作
12.5.2
16 ビットインプットキャプチャは設定された有効エッジを検出すると 16 ビットフ
リーランタイマの値をキャプチャレジスタに取り込んで割込みを発生することがで
きます。
■ インプットキャプチャの取込みタイミング例
• キャプチャ 0= 立上りエッジ
• キャプチャ 1= 立下りエッジ
• キャプチャ例 = 両エッジ ( 例として )
図 12.5-4 インプットキャプチャの取込みタイミング例
カウンタ値
FFFFH
BFFFH
7FFFH
3FFFH
0000H
時間
リセット
IN0
IN1
IN例
キャプチャ0
不定
キャプチャ1
不定
キャプチャ例
不定
3FFFH
7FFFH
BFFFH
3FFFH
キャプチャ0割込み
キャプチャ1割込み
キャプチャ例割込み
キャプチャ0=立上りエッジ
キャプチャ1=立下りエッジ
キャプチャ例=両エッジ(例として)
■ インプットキャプチャ入力タイミング
図 12.5-5 入力信号に対するキャプチャタイミング
マシンクロック(φ)
カウンタ値
インプットキャプチャ
入力
N
N+1
有効エッジ
キャプチャ信号
インプットキャプチャ
レジスタ
N+1
割込み
189
第 12 章 16 ビット入出力タイマ
190
第 13 章
16 ビットリロードタイマ
( イベントカウント機能付き )
16 ビットリロードタイマ ( イベントカウント機能
付き ) の機能と動作について説明します。
13.1 16 ビットリロードタイマ ( イベントカウント機能付き )
の概要
13.2 16 ビットリロードタイマのレジスタ
13.3 16 ビットリロードタイマの内部クロック動作と外部ク
ロック動作
13.4 16 ビットリロードタイマのアンダフロー動作
13.5 16 ビットリロードタイマの出力端子機能
13.6 カウンタの動作状態
191
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付き )
13.1
16 ビットリロードタイマ ( イベントカウント機能付き )
の概要
16 ビットリロードタイマは , 16 ビットのダウンカウンタ , 16 ビットのリロードレジ
スタ , 入力端子 1 本 (TIN), 出力端子 1 本 (TOT), 制御レジスタで構成されています。
入力クロックとして内部クロック 3 種類と外部クロックを選択できます。
■ 16 ビットリロードタイマ ( イベントカウント機能付き ) の概要
出力端子 (TOT) には , リロードモード時にはトグル出力波形を出力し , ワンショット
モード時にはカウント中を示す矩形波を出力します。入力端子 (TIN) は , イベントカウ
ントモード時にイベント入力となり , 内部クロックモード時にはトリガ入力 , または
ゲート入力に使用することができます。
MB90540/545 シリーズの 16 ビットリロードタイマは 2 つです。
■ インテリジェント I/O サービス (EI2OS) 機能と割込み
本タイマは EI2OS 対応の回路を有しています。このため , 本タイマのアンダフローに
より EI2OS を起動させることができます。
■ 16 ビットリロードタイマのブロックダイヤグラム
図 13.1-1 に , 16 ビットリロードタイマのブロックダイヤグラムを示します。
図 13.1-1 16 ビットリロードタイマのブロックダイヤグラム
16
/
16ビットリロードレジスタ
/
8
リロード
RELD
16ビットダウンカウンタ
/
16
有効
クロック
判定回路
OUTE
OUTL
2
/
OUT
CTL.
GATE
クロックセレクタ
CSL1
EXCK
CSL0
φ
φ
φ
21
23
25
プリスケーラ
クリア
マシンクロック
3
CNTE
TRG
IRQ
クリア
EI 2 OSCLR
ポート(TIN)
IN CTL
出力許可
/3
MOD2
MOD1
192
UF
動作
制御
回覧
トリガ
/
2
/
INTE
MOD0
ポート(TOT)
UARTボーレート(ch0)
A/DC(ch1)
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付き )
■ 16 ビットリロードタイマの端子名
本タイマは 2 つ内蔵されており , 入力端子名 (TIN) と出力端子名 (TOT) は以下のように
なります。
入力端子名 (TIN)
出力端子名 (TOT)
タイマ 0
TIN0
TOT0
タイマ 1
TIN1
TOT1
193
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付き )
13.2
16 ビットリロードタイマのレジスタ
16 ビットリロードタイマのレジスタには , 次の 2 種類があります。
• タイマ制御ステータスレジスタ
• 16 ビットタイマレジスタ /16 ビットリロードレジスタ
■ 16 ビットリロードタイマのレジスタ
16 ビットリロードタイマのレジスタのビット構成を図 13.2-1 に示します。
図 13.2-1 16 ビットリロードタイマのレジスタ
タイマ制御ステータスレジスタ(上位)
15
14
13
12
アドレス: ch0 000051H
ch1 000055H
リード/ライト
初期値
CSL1
(-)
(-)
(-)
(-)
タイマ制御ステータスレジスタ(下位)
アドレス: ch0 000050H
ch1 000054H
リード/ライト
初期値
11
MOD0
(-)
(-)
(-)
(-)
7
6
5
4
OUTE
OUTL
RELD
INTE
10
CSL0
9
MOD2
ビットNo.
8
MOD1
TMCSR0/1
(R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
3
UF
2
1
CNTE
TRG
0
TMCSR0/1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
16ビットタイマレジスタ/16ビットリロードレジスタ(上位)
15
14
13
12
11
10
9
ビットNo.
8
アドレス:ch0 000053H
ch1 000057H
リード/ライト
初期値
TMR0/TMRLR0
TMR1/TMRLR1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
16ビットタイマレジスタ/16ビットリロードレジスタ(下位)
7
6
5
4
アドレス:ch0 000052H
ch1 000056H
リード/ライト
初期値
194
ビットNo.
3
2
1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
0
ビットNo.
TMR0/TMRLR0
TMR1/TMRLR1
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付き )
13.2.1
タイマ制御ステータスレジスタ (TMCSR)
16 ビットタイマの動作モードおよび割込みの制御をします。UF, CNTE, TRG ビット
以外のビットの書換えは , CNTE=0 のときに行うようにしてください。
■ タイマ制御ステータスレジスタ (TMCSR)
タイマ制御ステータスレジスタ (TMCSR) のビット構成を図 13.2-2 に示します。
図 13.2-2 タイマ制御ステータスレジスタ (TMCSR)
タイマ制御ステータスレジスタ(上位)
15
14
13
12
アドレス: ch0 000051H
ch1 000055H
11
CSL1
リード/ライト
初期値
(-)
(-)
(-)
(-)
タイマ制御ステータスレジスタ(下位)
アドレス: ch0 000050H
ch1 000054H
MOD0
リード/ライト
初期値
(-)
(-)
(-)
(-)
7
6
5
4
OUTE
OUTL
RELD
INTE
10
CSL0
9
MOD2
ビットNo.
8
TMCSR0/1
MOD1
(R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
3
UF
2
1
CNTE
TRG
0
ビットNo.
TMCSR0/1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
【bit 11, bit 10】CSL1, CSL0(Clock SeLect1, 0)
カウントクロックセレクトビットです。選択されるクロックソースを , 表 13.2-1 に示
します。
表 13.2-1 CSL ビット設定クロックソース
CSL1
CSL0
クロックソース ( マシンサイクル φ=16 MHz)
0
0
φ/21 (0.125 µs)
0
1
φ/23 (0.5 µs)
1
0
φ/25 (2.0 µs)
1
1
外部イベントカウントモード
【bit 9 ∼ bit 7】MOD2, MOD1, MOD0
動作モードおよび入出力端子の機能を設定するビットです。
MOD2 ビットは , 入出力の機能を選択するビットです。"0" の場合 , 入力端子はトリガ
入力端子となり,有効エッジが入力されるとリロードレジスタの内容をカウンタへロー
ドし , カウント動作を継続します。"1" の場合 , ゲートカウンタモードになり , 入力端
子はゲート入力となり , 有効レベルが入力されている間のみカウントをします。
MOD1, MOD0 ビットは , 各モードにおける端子の機能の設定を行います。MOD2,
MOD1, MOD0 ビットの設定を表 13.2-2 および表 13.2-3 に示します。
195
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付き )
表 13.2-2 MOD2, MOD1, MOD0 ビットの設定方法 (1)
MOD2
MOD1
MOD0
入力端子機能
有効エッジ , レベル
0
0
0
トリガ禁止
―
0
0
1
トリガ入力
立上りエッジ
0
1
0
↑
立下りエッジ
0
1
1
↑
両エッジ
1
×
0
ゲート入力
"L" レベル
1
×
1
↑
"H" レベル
内部クロックモード時 (CSL0, CSL1=00B, 01B, 10B)
表 13.2-3 MOD2, MOD1, MOD0 ビットの設定方法 (2)
MOD2
MOD1
MOD0
入力端子機能
有効エッジ , レベル
0
0
―
―
0
1
トリガ入力
立上りエッジ
1
0
↑
立下りエッジ
1
1
↑
両エッジ
×
・イベントカウントモード時 (CSL0, CSL1=11B)
・表中の×は , 任意の値
【bit 6】OUTE
出力許可ビットです。"0" のとき TOT 端子は汎用ポートになり , "1" のとき TOT 端子は
タイマ出力端子になります。出力波形はリロードモード時トグル出力となり , ワン
ショットモード時はカウンタ中を示す矩形波出力になります。
【bit 5】OUTL
TOT 端子の出力レベルを設定するビットです。
表 13.2-4 OUTE, RELD, OUTL の設定方法
OUTE
RELD
OUTL
0
1
×
0
×
0
1
0
1
カウント中 "L" の矩形波
1
1
0
カウントスタート時 "L" のトグル出力
1
1
1
カウントスタート時 "H" のトグル出力
出力波形
汎用ポート
カウント中 "H" の矩形波
・表中の×は , 任意の値
【bit 4】RELD (REloaD)
リロード動作を許可するビットです。"1" のときはリロードモードになり , カウンタの
値が "0000H" → "FFFFH" へのアンダフローと同時にリロードレジスタの内容をカウン
タへロードしてカウント動作を続けます。"0" のときは単発動作モードとなり , カウン
タの値が "0000H" → "FFFFH" へのアンダフローによりカウント動作を停止します。
196
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付き )
【bit 3】INTE (INTerrupt Enable)
タイマ割込み要求許可ビットです。"1" のとき UF ビットが "1" になると割込み要求を
発生します。"0" のときは UF ビットが "1" であっても割込み要求を発生しません。
【bit 2】UF (UnderFlow)
タイマ割込み要求フラグです。カウンタの値が , "0000H" → "FFFFH" へのアンダフロー
により "1" にセットされます。"0" の書込みまたはインテリジェント I/O サービスによっ
てクリアされます。このビットへの "1" 書込みは , 意味がありません。リードモディ
ファイライト系命令における読出し時には , "1" が読み出されます。
【bit 1】CNTE (CouNT Enable)
タイマのカウントイネーブルビットです。このビットに "1" を書き込むと , 起動トリガ
待ち状態になります。"0" 書込みによりカウント動作は停止します。
【bit 0】TRG (Trigger)
ソフトウェアトリガビットです。"1" 書込みによりソフトウェアトリガがかかり , リ
ロードレジスタの内容をカウンタへロードしてカウント動作を開始します。"0" 書込み
動作は , 意味を持ちません。読出し値は , 常に "0" です。このレジスタによるトリガ入
力は , CNTE=1 のときのみ有効となります。CNTE=0 のときには , 動作に影響を与えま
せん。
197
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付き )
13.2.2
16 ビットタイマレジスタ (TMR)/16 ビットタイマリ
ロードレジスタ (TMRLR) のレジスタ配置
TMR 内容 ( リード時 ):
6 ビットタイマのカウント値を読み出すことができるレジスタです。初期値は不定
です。このレジスタの読出しは , 必ずワード転送命令で行ってください。
TMRLR 内容 ( ライト時 ):
16 ビットタイマリロードレジスタは , カウントの初期値を保持しておくレジスタで
す。初期値は不定です。このレジスタへの書込みは , 必ずワード転送命令で行ってく
ださい。
■ 16 ビットタイマレジスタ (TMR)/16 ビットタイマリロードレジスタ (TMRLR)
16 ビットタイマレジスタ (TMR) と 16 ビットタイマリロードレジスタ (TMRLR) のビッ
ト構成を図 13.2-3 に示します。
図 13.2-3 16 ビットタイマレジスタ (TMR)/16 ビットタイマリロードレジスタ (TMRLR)
16ビットタイマレジスタ/16ビットタイマリロードレジスタ(上位)
15
14
13
12
11
10
9
ビットNo.
8
アドレス:ch0 000053H
ch1 000057H
リード/ライト
初期値
TMR0/TMRLR0
TMR1/TMRLR1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
16ビットタイマレジスタ/16ビットタイマリロードレジスタ(下位)
7
6
5
4
3
アドレス:ch0 000052H
ch1 000056H
リード/ライト
初期値
198
2
1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
0
ビットNo.
TMR0/TMRLR0
TMR1/TMRLR1
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付き )
13.3
16 ビットリロードタイマの内部クロック動作と外部ク
ロック動作
内部クロックの分周クロックでタイマを動作させる場合 , クロックソースとしてマシ
ンクロックの 21, 23, 25 分周のクロックから選択することができます。外部入力端子
は , レジスタの設定により , トリガ入力またはゲート入力にすることができます。
外部クロックをセレクトすると TIN 端子は , 外部イベント入力端子となりレジスタ
で設定された有効エッジをカウントします。
■ 16 ビットリロードタイマの内部クロック動作
カウント許可と同時にカウント動作を開始したい場合は , 制御レジスタの CNTE ビッ
トと TRG ビットの両方に "1" を書き込んでください。
TRG ビットによるトリガ入力は ,
タイマが起動状態のとき (CNTE=1) 動作モードにかかわらず常に有効です。
図 13.3-1 に , カウンタの起動およびカウンタの動作について示します。カウンタスター
トのトリガが入力されてからリロードレジスタのデータがカウンタへロードされるま
でに , T(T: マシンサイクル ) の時間がかかります。
図 13.3-1 16 ビットリロードタイマのカウンタの起動および動作
カウントクロック
カウンタ
リロードデータ
-1
-1
-1
データロード
CNTE ( ビット)
TRG ( ビット)
T
■ 16 ビットリロードタイマの入力端子機能 ( 内部クロックモード時 )
クロックソースとして , 内部クロックを選択した場合 , TIN 端子はトリガ入力または
ゲート入力として使用することができます。トリガ入力として使用した場合 , 有効エッ
ジが入力されるとリロードレジスタの内容をカウンタにロードして,内部プリスケーラ
をクリアした後 , カウント動作を開始します。
TIN 端子は , 2T(T はマシンサイクル ) 以上のパルスを入力してください。図 13.3-2 に ,
トリガ入力の動作を示します。
199
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付き )
図 13.3-2 16 ビットリロードタイマのトリガ入力の動作
カウントクロック
TIN端子
立上りエッジ検出時
プリスケーラ
カウンタ
-1
-1
リロードデータ
-1
-1
ロード
2T~
2.5T
ゲート入力として使用する場合 , 制御レジスタの MOD0 ビットにより設定される有効レ
ベルが, TIN端子から入力されている間のみカウントをします。
このときカウントクロッ
クは , 止まらずに動き続けます。ゲートモード時のソフトウェアトリガは , ゲートレベ
ルにかかわらず可能です。TIN 端子のパルス幅は , 2・T(T はマシンサイクル ) 以上にし
てください。図 13.3-3 に , ゲート入力の動作を示します。
図 13.3-3 16 ビットリロードタイマのゲート入力の動作
カウントクロック
TIN端子
MOD0=1とした場合(入力"H"のカウント)
-1
カウンタ
-1
-1
■ 外部イベントカウント
外部クロックをセレクトすると TIN 端子は , 外部イベント入力端子となりレジスタで
設定された有効エッジをカウントします。TIN 端子のパルス幅は , 4T(T はマシンサイ
クル ) 以上にしてください。
200
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付き )
13.4
16 ビットリロードタイマのアンダフロー動作
16 ビットリロードタイマにより , カウンタ値が "0000H" から "FFFFH" に変化したと
きにアンダフローが定義されますので , ( リロードレジスタ設定 +1) カウントの後
でアンダフローが生じます。
■ 16 ビットリロードタイマのアンダフロー動作
アンダフロー発生時 , 制御レジスタの RELD ビットが "1" のときリロードレジスタの内
容をカウンタへロードしてカウント動作を継続し , "0" のときカウンタを "FFFFH" で停
止させます。
アンダフローが発生すると , 制御レジスタの UF ビットをセットし , このときに INTE
ビットが "1" であると割込み要求を発生します。
図 13.4-1 と図 13.4-2 に , アンダフロー発生時の動作を示します。
図 13.4-1 16 ビットリロードタイマのアンダフロー動作 [RELD=1 の場合 ]
カウントクロック
カウンタ
0000H
リロードデータ
-1
-1
-1
データロード
アンダフローセット
図 13.4-2 16 ビットリロードタイマのアンダフロー動作 [RELD=0 の場合 ]
カウントクロック
カウンタ
0000H
FFFFH
アンダフローセット
201
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付き )
13.5
16 ビットリロードタイマの出力端子機能
TOT 端子はリロードモード時には , アンダフローにより反転するトグル出力として ,
ワンショットモード時には , カウント中を示すパルス出力として機能します。
■ 16 ビットリロードタイマの出力端子機能
16 ビットリロードタイマの出力極性は , レジスタの OUTL ビットにより設定でき
OUTL=0 のときトグル出力は , 初期値が "0" で , ワンショットパルス出力は , カウント
中 "1" を出力します。OUTL=1 にすると出力波形は , 反転します。図 13.5-1 と図 13.5-2
に出力端子機能を示します。
図 13.5-1 16 ビットリロードタイマの出力端子機能 (RELD=1, OUTL=0 の場合 )
カウント開始
アンダフロー
TOT
OUTL=1のときは反転
汎用ポート
CNTE
起動トリガ
図 13.5-2 16 ビットリロードタイマの出力端子機能 (RELD=0, OUTL=0 の場合 )
アンダフロー
TOT
OUTL=1で反転
汎用ポート
CNTE
起動トリガ
起動トリガ待ち状態
202
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付き )
カウンタの動作状態
13.6
カウンタの状態は , 制御レジスタの CNTE ビットと内部信号の WAIT 信号によって
決まります。設定可能な状態として CNTE=0, WAIT=1 の停止状態 (STOP 状態 ),
CNTE=1, WAIT=1 の起動トリガ待ち状態 (WAIT 状態 ), CNTE=1, WAIT=0 の動作状
態 (RUN 状態 ) があります。
■ カウンタの動作状態
図 13.6-1 に , 各状態の遷移を示します。
図 13.6-1 カウンタの状態遷移
リセット
STOP
ハードウェアによる状態遷移
CNTE=0,WAIT=1
TIN端子:入力禁止
レジスタアクセスによる状態遷移
TOT端子:汎用ポート
カウンタ:停止時の値を保持
リセット直後は不定
CNTE=0
WAIT
CNTE=0
CNTE=1
CNTE=1
TRG=0
TRG=1
CNTE=1,WAIT=1
RUN
TOT端子:初期値出力
TOT端子:TOT端子として機能
RELD・UF
カウンタ:停止時の値を保持
リセット直後ロード
するまでは不定
カウンタ:動作
TRG=1
TINから起動
CNTE=1,WAIT=0
TIN端子 :TIN端子として機能
TIN端子 :トリガ入力のみ有効
LOAD
TRG=1
CNTE=1,WAIT=0
リロードレジスタの内容を
カウンタへロード
RELD・UF
ロード終了
203
第 13 章 16 ビットリロードタイマ ( イベントカウント機能付き )
204
第 14 章
8/16 ビット PPG
8/16 ビット PPG の機能と動作について説明しま
す。
14.1 8/16 ビット PPG の概要
14.2 8/16 ビット PPG のブロックダイヤグラム
14.3 8/16 ビット PPG のレジスタ
14.4 8/16 ビット PPG の動作
14.5 8/16 ビット PPG のカウントクロックの選択
14.6 8/16 ビット PPG のパルスの端子出力の制御
14.7 8/16 ビット PPG の割込み
14.8 8/16 ビット PPG の各ハードウェアの初期値
205
第 14 章 8/16 ビット PPG
14.1
8/16 ビット PPG の概要
8/16 ビット PPG は , ハードウェアとして , 8 ビットダウンカウンタ 2 個 , 8 ビット
リロードレジスタ 4 個 , 16 ビット制御レジスタ 1 個 , 外部パルス出力端子 2 本 , 割
込み出力 2 本を有し , これらにより以下の機能を実現します。
■ 8/16 ビット PPG の機能
● 8 ビット PPG 出力 2 チャネル独立動作モード
2 チャネルの独立した PPG 出力動作が可能です。
● 16 ビット PPG 出力動作モード
1 チャネルの 16 ビットの PPG 出力動作が可能です。
● 8 ビットプリスケーラ +8 ビット PPG 出力動作モード
ch0 の出力を ch1 のクロック入力とすることにより , 任意周期の 8 ビット PPG 出力動作
が可能です。
● PPG 出力動作
任意周期・デューティ比のパルス波を出力します。外付け回路により D/A コンバータ
としても使用可能です。
PPG の ch0 と ch1 を合わせて 1 ユニットとよびます。
MB90540/545 シリーズには , PPG が 4 ユニットあります。次節では PPG の ch0 と ch1 の
機能についてのみ記述します。残りの PPG も同じ機能を持ちますが , レジスタアドレス
については ,「付録 A I/O マップ」を参照してください。
PPG の ch0 を PPG (ch0), ch1 を PPG (ch1) と表します。
206
第 14 章 8/16 ビット PPG
14.2
8/16 ビット PPG のブロックダイヤグラム
図 14.2-1 に , 8/16 ビット PPG(ch0) のブロックダイヤグラムを , 図 14.2-2 に 8/16
ビット PPG(ch1) のブロックダイヤグラムを示します。
■ 8/16 ビット PPG のブロックダイヤグラム
図 14.2-1 8 ビット PPG(ch0) のブロックダイヤグラム
周辺クロック
周辺クロック
周辺クロック
周辺クロック
周辺クロック
16分周
8分周
4分周
2分周
PPGO
出力ラッチ
反転
クリア
PEN0
カウントクロック
選択
PCNT(ダウンカウンタ)
タイムベースタイマ出力
メインクロックの512分周
リロード
L/Hセレクト
MB90540/545シリーズでは,この
IRQ信号はOR論理によりPPG(ch1)
のIRQ信号とマージされます。
S
R Q
IRQ
ch1-ボロー
L/Hセレクタ
PRLL0
PRLBH0
PIE0
PRLH0
PUF0
"L"側データバス
"H"側データバス
PPGC0
( 動作モード制御 )
ch0 の PPG 出力信号は外部端子に接続していません。
207
第 14 章 8/16 ビット PPG
図 14.2-2 8 ビット PPG(ch1) のブロックダイヤグラム
PPG0端子出力許可
PPG0端子
周辺クロック
周辺クロック
周辺クロック
周辺クロック
周辺クロック
16分周
8分周
4分周
2分周
MB90540/545シリーズは,この端子は
「PPG0」外部端子に接続しています。
PPG1
出力ラッチ
反転
クリア
PEN1
カウントクロック
選択
S
R Q
PCNT(ダウンカウンタ)
ch0-ボロー
タイムベースカウンタ出力
メインクロックの512分周
L/Hセレクト
MB90540/545シリーズは,このIRQ
信号はOR論理によりPPG(ch0)の
IRQ信号とマージされます。
IRQ
リロード
L/Hセレクタ
PRLL1
PRLBH1
PIE1
PRLH1
PUF1
"L"側データバス
"H"側データバス
PPGC1
( 動作モード制御 )
図 14.2-3 PPG モジュールとユニット番号 , および外部端子の関係
PPG
ユニット0
PPG
ユニット1
PPG
ユニット2
PPG
ユニット3
208
PPG(ch0),PPG(ch1)
PPG0
PPG(ch2),PPG(ch3)
PPG1
PPG(ch4),PPG(ch5)
PPG2
PPG(ch6),PPG(ch7)
PPG3
外部端子
第 14 章 8/16 ビット PPG
14.3
8/16 ビット PPG のレジスタ
8/16 ビット PPG のレジスタには , 次の 5 つがあります。
• PPG0 動作モード制御レジスタ
• PPG1 動作モード制御レジスタ
• PPG ユニット 0 クロック選択レジスタ
• リロードレジスタ H
• リロードレジスタ L
■ 8/16 ビット PPG のレジスタ
8/16 ビット PPG のレジスタのビット構成を図 14.3-1 に示します。
図 14.3-1 8/16 ビット PPG のレジスタ
PPG0動作モード制御レジスタ
アドレス:ch0 000038H
リード/ライト
初期値
PPG1動作モード制御レジスタ
アドレス:ch1 000039H
リード/ライト
初期値
7
6
PEN0
(R/W)
(0)
15
(-)
(-)
14
PEN1
(R/W)
(0)
アドレス:ch0/1 00003AH
リード/ライト
初期値
リロードレジスタH
アドレス:ch0 003901H
ch1 003903H
リード/ライト
初期値
リロードレジスタL
アドレス:ch0 003900H
ch1 003902H
リード/ライト
初期値
PCS2
4
3
2
1
PE00
PIE0
PUF0
予約
(R/W) (R/W) (R/W)
(0)
(0)
(0)
(W)
(1)
(-)
(-)
(-)
(-)
13
12
11
10
9
PE10
PIE1
PUF1
MD1
MD0
6
5
4
3
2
PCS1
PCS0
PCM2
PCM1
PCM0
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(0)
(0)
(0)
(0)
(0)
(0)
15
0
ビットNo.
PPGC0
ビットNo.
8
PPGC1
予約
(R/W) (R/W) (R/W) (R/W) (R/W) (W)
(0)
(0)
(0)
(0)
(0)
(1)
(-)
(-)
PPGユニット0クロック選択レジスタ
7
5
14
13
12
11
1
0
(-)
(-)
(-)
(-)
ビットNo.
PPGO/PPG1
10
9
8
ビットNo.
PRLH0/PRLH1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
7
6
5
4
3
2
1
0
ビットNo.
PRLL0/PRLL1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
209
第 14 章 8/16 ビット PPG
14.3.1
PPG0 動作モード制御レジスタ (PPGC0)
動作モード制御レジスタ (PPGC0) は , ブロックの動作モードの選択 , 端子出力制御 ,
カウントクロック選択 , トリガの制御を行う 5 ビットの制御レジスタです。
PPG(ch0) を制御します。
■ PPG0 動作モード制御レジスタ (PPGC0)
PPG0 動作モード制御レジスタ (PPGC0) のビット構成を図 14.3-2 に示します。
図 14.3-2 PPG0 動作モード制御レジスタ (PPGC0)
6
5
4
3
2
1
0
アドレス:ch0 000038H
PEN0
7
─
PE00
PIE0
PUF0
─
─
予約
リード / ライト→
(R/W)
(-)
(R/W)
(R/W)
(R/W)
(-)
(-)
(W)
(0)
(-)
(0)
(0)
(0)
(-)
(-)
(1)
初期値→
←ビット No.
PPGC0
【bit 7】PEN0(PPG enable): 動作許可ビット
PPG(ch0) のカウンタ動作を許可します。
PEN0
0
1
動作状態
動作停止 ("L" レベル出力保持 )
PPG(ch0) 動作許可
本ビットに "1" を書き込むことで , PPG(ch0) はカウントを開始します。
リセットにより , 本ビットは "0" に初期化されます。リード / ライトが可能です。
【bit 5】PE00 (PPG output enable 00): PPG0 端子出力許可ビット
パルス出力外部端子 PPG0 を以下のように制御します。
PE00
0
1
動作状態
汎用ポート端子 ( パルス出力禁止 )
PPG0= パルス出力端子 ( パルス出力許可 )
リセットにより , 本ビットは "0" に初期化されます。本ビットは , リード / ライトが可
能です。
MB90540/545 シリーズについては , 本ビットは常に "0" に設定してください。
【bit 4】PIE0 (PPG Interrupt enable):PPG の割込み許可ビット
PPG(ch0) の割込み許可を以下のように制御します。
PIE0
0
1
動作状態
割込み禁止
割込み許可
本ビットが "1" のとき , PUF0 が "1" になると割込み要求を発生します。本ビットが "0"
のときは割込み要求を発生しません。
リセットにより , 本ビットは "0" に初期化されます。本ビットは , リード / ライトが可
能です。
210
第 14 章 8/16 ビット PPG
【bit 3】PUF0 (PPG underflow flag):PPG カウンタアンダフロービット
PPG(ch0) のカウンタアンダフロービットを以下のように制御します。
PUF0
動作状態
0
PPG(ch0) のカウンタアンダフローが検出していません
1
PPG(ch0) のカウンタアンダフローを検出しました
8 ビット PPG 2 チャネルモードおよび 8 ビットプリスケーラ +8 ビット PPG モードのとき
には , ch0 のカウンタの値が "00H" ∼ "FFH" へなったときのアンダフローにより "1" にセッ
トされます。
16ビットPPGモードのときには, ch1/ch0のカウンタの値が"0000H"∼"FFFFH"
になったときのアンダフローにより "1" にセットされます。"0" の書込みにより "0" にな
ります。このビットへの "1" 書込みは , 意味がありません。リードモディファイライト系
命令のリード時には "1" が読まれます。
リセットにより , 本ビットは "0" に初期化されます。本ビットは , リード / ライトが可
能です。
【bit 0】
予約ビットです。必ず "1" に設定してください。
本ビットは常に "1" が読まれます。
211
第 14 章 8/16 ビット PPG
PPG1 動作モード制御レジスタ (PPGC1)
14.3.2
PPG1 動作モード制御レジスタ (PPGC1) は , ブロックの動作モードの選択 , 端子出
力制御 , カウントクロック選択 , トリガの制御を行う 7 ビットの制御レジスタです。
PPG(ch1) の制御と PPG ユニット 0 の動作モードを選択します。
■ PPG1 動作モード制御レジスタ (PPGC1)
PPG1 動作モード制御レジスタ (PPGC1) のビット構成を図 14.3-3 に示します。
図 14.3-3 PPG1 動作モード制御レジスタ (PPGC1)
アドレス:
ch1 000039H
15
14
13
12
11
10
9
8
PEN1
PE10
PIE1
PUF1
MD1
MD0
リード / ライト→
(R/W)
─
(-)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
予約
(W)
(0)
(-)
(0)
(0)
(0)
(0)
(0)
(1)
初期値→
←ビット No.
PPGC1
【bit 15】PEN1(PPG enable): 動作許可ビット
PPG(ch1) のカウンタ動作を許可します。
PEN1
動作状態
0
動作停止 ("L" レベル出力保持 )
1
PPG(ch1) 動作イネーブル
本ビットを "1" に設定することでカウンタ動作を許可します。
リセットにより , 本ビットは "0" に初期化されます。リード / ライトが可能です。
【bit 13】PE10 (PPG output enable 10):PPG0 端子出力許可ビット
パルス出力外部端子 PPG0 を以下のように制御します。
PE10
動作状態
0
汎用ポート端子 ( パルス出力禁止 )
1
PPG0= パルス出力端子 ( パルス出力許可 )
リセットにより , 本ビットは "0" に初期化されます。本ビットは , リード / ライトが可
能です。
【bit 12】PIE1 (PPG Interrupt enable):PPG の割込み許可ビット
PPG(ch1) の割込み許可を以下のように制御します。
PIE1
動作状態
0
割込み禁止
1
割込み許可
本ビットが "1" のとき , PUF1 が "1" になると割込み要求を発生します。本ビットが "0"
のときは割込み要求を発生しません。
リセットにより , 本ビットは "0" に初期化されます。本ビットは , リード / ライトが可
能です。
212
第 14 章 8/16 ビット PPG
【bit 11】PUF1 (PPG underflow flag):PPG カウンタアンダフロービット
PPG(ch1) のカウンタアンダフロービットを以下のように制御します。
PUF1
動作状態
0
PPG(ch1) のカウンタアンダフローを検出していない
1
PPG(ch1) のカウンタアンダフローを検出した
8 ビット PPG 2 チャネルモードおよび 8 ビットプリスケーラ +8 ビット PPG モードのとき
には , ch1 のカウンタの値が "00H" ∼ "FFH" へなったときのアンダフローにより "1" にセッ
トされます。
16ビットPPGモードのときには, ch1/ch0のカウンタの値が"0000H"∼"FFFFH"
へなったときのアンダフローにより "1" にセットされます。"0" の書込みにより "0" にな
ります。このビットへの "1" 書込みは , 意味がありません。リードモディファイライト系
命令のリード時には "1" が読まれます。
リセットにより , 本ビットは "0" に初期化されます。本ビットは , リード / ライトが可
能です。
【bit 10, bit 9】MD1, MD0 (PPG count mode): 動作モード選択ビット
PPG ユニットの動作モードを以下のように選択します。
MD1
MD0
0
0
8 ビット PPG2 チャネル独立モード
8 ビットプリスケーラ +8 ビット PPG1 チャネルモード
動作モード
0
1
1
0
予約 ( 設定禁止 )
1
1
16 ビット PPG1 チャネルモード
リセットにより , 本ビットは "00" に初期化されます。本ビットは , リード / ライトが可
能です。
<注意事項>
• ビットを "10B" に設定しないでください。
• ビットを "01B" に設定する場合には , PPGC0 の PEN0 ビット /PPGC1 の PEN1 ビット
を "01B" に設定しないでください。また , PEN0 ビットおよび PEN1 ビットを同時に
"11B" または "00B" にセットすることを推奨します。
• ビットを "11B" に設定する場合には , PPGC0/PPGC1 をワード転送で書き換え , PEN0
ビットおよび PEN1 ビットを同時に "11B" または "00B" にセットしてください。
【bit 8】予約ビット
予約ビットです。PPGC1 を設定するときは必ず "1" に設定してください。
本ビットは常に "1" が読まれます。
213
第 14 章 8/16 ビット PPG
PPG ユニット 0 クロック選択レジスタ (PPG01)
14.3.3
PPG ユニット 0 クロック選択レジスタ (PPG01) は , PPG の動作クロックの制御を
行う 8 ビットの制御レジスタです。
■ PPG ユニット 0 クロック選択レジスタ (PPG01)
PPG ユニット 0 クロック選択レジスタ (PPG01) のビット構成を図 14.3-4 に示します。
図 14.3-4 PPG ユニット 0 クロック選択レジスタ (PPG01)
7
6
5
4
3
2
1
0
アドレス:ch0/1 00003AH
PCS2
PCS1
PCS0
PCM2
PCM1
PCM0
─
─
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(─)
(─)
(0)
(0)
(0)
(0)
(0)
(0)
(─)
(─)
初期値→
←ビット No.
PPG01
【bit 7 ∼ bit 5】PCS2 ∼ PCS0 (PPG count select): カウントクロック選択ビット
ch1 のダウンカウンタの動作クロックを , 次のように選択します。
PCS2
PCS1
PCS0
0
0
0
動作モード
周辺クロック (62.5 ns マシンクロック 16 MHz 時 )
0
0
1
周辺クロック /2(125 ns マシンクロック 16 MHz 時 )
0
1
0
周辺クロック /4(250 ns マシンクロック 16 MHz 時 )
0
1
1
周辺クロック /8(500 ns マシンクロック 16 MHz 時 )
1
0
0
周辺クロック /16(1 µs マシンクロック 16 MHz 時 )
1
1
1
タイムベースタイマからの入力クロック (128 µs 原発振 4 MHz 時 )
リセットにより本ビットは "000B" に初期化されます。本ビットは , リード / ライトが
可能です。
<注意事項>
8 ビットプリスケーラ +8 ビット PPG モードおよび 16 ビット PPG モードのときには ,
ch1 の PPG は , ch0 からカウントクロックを受けて動作するため , これらのビットの設定
は , 無効になります。
【bit 4 ∼ bit 2】PCM2 ∼ PCM0 (PPG Count Mode): カウントクロック選択ビット
ch0 のダウンカウンタの動作クロックを , 次のように選択します。
PCM2
PCM1
PCM0
0
0
0
周辺クロック (62.5 ns マシンクロック 16 MHz 時 )
0
0
1
周辺クロック /2(125 ns マシンクロック 16 MHz 時 )
0
1
0
周辺クロック /4(250 ns マシンクロック 16 MHz 時 )
0
1
1
周辺クロック /8(500 ns マシンクロック 16 MHz 時 )
1
0
0
周辺クロック /16(1 µs マシンクロック 16 MHz 時 )
1
1
1
タイムベースタイマからの入力クロック (128 µs 原発振 4 MHz 時 )
動作モード
リセットにより本ビットは "000B" に初期化されます。本ビットは , リード / ライトが
可能です。
214
第 14 章 8/16 ビット PPG
リロードレジスタ (PRLL, PRLH)
14.3.4
リロードレジスタ (PRLL, PRLH) は , ダウンカウンタ PCNT へのリロード値を保持
する各 8 ビットのレジスタです。PRLL, PRLH レジスタは , どちらもリード / ライト
が可能です。
■ リロードレジスタ (PRLL, PRLH)
リロードレジスタ (PRLL, PRLH) のビット構成を図 14.3-5 に示します。
図 14.3-5 リロードレジスタ (PRLL, PRLH)
リロードレジスタH
アドレス:ch0 003901H
ch1 003903H
リード/ライト
初期値
リロードレジスタL
アドレス:ch0 003900H
ch1 003902H
リード/ライト
初期値
レジスタ名
15
14
13
12
11
10
9
8
ビットNo.
PRLH0/1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
7
6
5
4
3
2
1
0
ビットNo.
PRLL0/1
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
機能
PRLL
"L" 側リロード値保持。"L" のパルス幅を設定します。
PRLH
"H" 側リロード値保持。"H" のパルス幅を設定します。
<注意事項>
8 ビットプリスケーラ +8 ビット PPG モードで使用する場合には , ch0 の PRLL と PRLH
に異なる値を設定すると , ch1 の PPG 波形がサイクルごとに異なる場合があるので , ch0
の PRLL と PRLH は , 同じ値に設定することを推奨します。
215
第 14 章 8/16 ビット PPG
14.4
8/16 ビット PPG の動作
8/16 ビット PPG には , 8 ビット長の PPG ユニットが 2 チャネル有り , 2 チャネル独
立モード以外に , 8 ビットプリスケーラ +8 ビット PPG モードと , 16 ビット PPG 1
チャネルモードの計 3 種類の動作を行うことができます。
■ 8/16 ビット PPG の動作
8 ビット長の PPG ユニットそれぞれは , 8 ビット長のリロードレジスタが "L" 側と "H"
側の 2 本あります (PRLL, PRLH)。このレジスタに書き込まれた値が , 8 ビットダウン
カウンタ (PCNT) に "L" 側 /"H" 側交互にリロードされてカウントクロックごとにダウ
ンカウントされ , カウンタのボロー発生によるリロード時に , PPG0 出力端子の値を反
転させます。この動作により , PPG0 出力端子はリロードレジスタ値に対応した "L" 幅 /
"H" 幅をもつパルスを出力します。
表 14.4-1 に , リロード動作とパルス出力の関係を示します。
表 14.4-1 リロード動作とパルス出力の関係
リロード動作
端子出力変化
PRLH → PCNT
PPG0 出力端子 [0 → 1] 立上り
PRLL → PCNT
PPG0 出力端子 [1 → 0] 立下り
また , PPGC0 中の bit4 (PIE0) が "1" のときおよび PPGC1 中の bit12 (PIE1) が "1" のとき ,
それぞれのカウンタの "00H" ∼ "FFH" へのボロー (16 ビット PPG モードの場合には ,
"0000H" ∼ "FFFFH" へのボロー ) によって割込み要求が出力されます。
■ 8/16 ビット PPG の動作モード
8/16 ビット PPG の動作モードには , 2 チャネル独立モードと , 8 ビットプリスケーラ +8
ビット PPG モードと , 16 ビット PPG 1 チャネルモードの計 3 種類の動作モードがあり
ます。
● 2 チャネル独立モード
2 チャネル独立モードは , 8 ビット PPG として 2 チャネル独立に動作させる動作モード
です。
● 8 ビットプリスケーラ +8 ビット PPG モード
8 ビットプリスケーラ +8 ビット PPG モードは , ch0 を 8 ビットプリスケーラとして動
作させ , ch1 を ch0 のボロー出力でカウントすることにより , 任意周期の 8 ビット PPG
波形を出力できるようにする動作モードです。
● 16 ビット PPG1 チャネルモード
16 ビット PPG 1 チャネルモードは , ch0 と ch1 を連結させて , 16 ビットの PPG として
動作させる動作モードです。
216
第 14 章 8/16 ビット PPG
■ 8/16 ビット PPG の出力動作
8/16 ビット PPG は , ch0 の PPG については , PPGC0 レジスタの bit7 (PEN0) を , ch1 の
PPG については , PPGC1 レジスタの bit15 (PEN1) を "1" にセットすることによって起動
され , カウントを開始します。動作を開始した後は , PPGC0 の bit7 (PEN0) または PPGC1
の bit15 (PEN1) に "0" を書き込むことによってカウント動作を停止し , 停止した後 , パ
ルス出力は "L" レベルを保持します。MB90540/545 シリーズについては , ch0 の PPG か
らの出力信号は外部端子には接続していません。
8 ビットプリスケーラ +8 ビット PPG モードのときには , ch0 を停止状態で , ch1 を動作
状態に設定しないでください。
16 ビット PPG モードのとき , PPGC0 レジスタの bit7 (PEN0) と PPGC1 レジスタの bit15
(PEN1) が同時に開始または停止していることを確認してください。次の図は , PPG 出
力動作を示しています。PPG の動作中 , パルス波は振動数と効率の割合 ("H" レベルと
"L" レベルのパルス波である時間の割合 ) で出力し続け , PPG は停止が指定されるまで
動作します。
図 14.4-1 PPG 出力動作の出力波形
PEN
PPG0
出力端子
PENにより動作開始("L"側から)
T×(L+1)
T×(H+1)
(スタート)
L:PRLLの値
H:PRLHの値
T:周辺クロック( φ , φ /4, φ /16)
またはタイムベースカウンタからの入力
(PPGCのクロックセレクトによる)
■ 8/16 ビット PPG のリロード値とパルス幅の関係
リロードレジスタに書かれた値に +1 した値に , カウントクロックの周期を掛けた値が ,
出力されるパルスの幅となります。
8 ビット PPG 動作時のリロードレジスタ値が "00H" のときおよび 16 ビット PPG 動作
時のリロードレジスタ値が "0000H" のときは , カウントクロック 1 周期分のパルス幅を
もつことになりますので注意してください。また , 8 ビット PPG 動作時のリロードレ
ジスタ値が "FFH" のとき , カウントクロック 256 周期分のパルス幅をもつことになり ,
16 ビット PPG 動作時のリロードレジスタ値が "FFFFH" のときは , カウントクロック
65536 周期分のパルス幅をもつことになりますので注意してください。パルス幅の計算
例を次に示します。
Pl=T ×(L+1)
Ph=T ×(H+1)
L
H
T
Ph
Pl
:PRLL の値
:PRLH の値
:入力クロック周期
:"H"パルスの幅
:"L"パルスの幅
217
第 14 章 8/16 ビット PPG
14.5
8/16 ビット PPG のカウントクロックの選択
8/16 ビット PPG の動作に使用するカウントクロックは , 周辺クロックおよびタイム
ベースカウンタの入力を使用しており , 6 種類のカウントクロック入力が選択できま
す。
■ 8/16 ビット PPG のカウントクロックの選択
PPGユニット0クロック選択レジスタのbit4∼bit2 (PCM2∼PCM0)でch0のクロックを,
bit7 ∼ bit5 (PCS2 ∼ PCS0) で ch1 のクロックを選択します。
クロックは , マシンクロックの 1/16 ∼ 1 倍の周辺クロックとタイムベースカウンタか
らの入力クロックより選択できます。
しかし , 8 ビットプリスケーラ +8 ビット PPG モードまたは 16 ビット PPG モードのと
きには , PCS2 に "0" を設定しても意味はありません。
タイムベースカウンタの入力を使用した場合,トリガにより起動がかかる最初およびス
トップ後の最初のカウント周期がずれる可能性がありますので注意してください。ま
た,本モジュール動作中にタイムベースカウンタのクリアを行うと周期がずれることが
あります。
8 ビットプリスケーラ +8 ビット PPG モードでは ch0 が動作状態 , ch1 が停止状態であ
るときに ch1 の起動を行うと , 最初のカウント周期がずれる可能性がありますので注意
してください。
218
第 14 章 8/16 ビット PPG
14.6
8/16 ビット PPG のパルスの端子出力の制御
本モジュールの動作によって生成されたパルス出力は , 外部端子 PPG0 より出力さ
せることができます。
■ 8/16 ビット PPG のパルスの端子出力の制御
PPG1 動作モード制御レジスタ (PPGC1) の bit13 (PE10) が "0" のとき ( 初期値 ) は , パル
ス出力は外部端子より出力されずに , 汎用ポートとして機能します。本ビットに "1" を
設定すると , パルス出力が外部端子より出力されます。
8 ビットプリスケーラ +8 ビット PPG モードでは , PPG(ch0) の 8 ビットプリスケーラの
トグル波形が出力され , PPG(ch1) の 8 ビット PPG の波形が出力されます。このモード
のときの出力波形の例を図 14.6-1 に示します。
MB90540/545 シリーズについては , ch0 の PPG からの出力信号は外部端子には接続し
ていません。
図 14.6-1 8 ビットプリスケーラ +8 ビット PPG 出力動作の出力波形
Pl0
Ph0
PPG(ch0)の出力
(内部信号)
PPG(ch1)の出力
(PPG0
端子波形)
Ph1
Pl0
Ph0
Pl1
Ph1
=
=
=
=
T
T
T
T
×
×
×
×
(L0+1)
(L0+1)
(L0+1) × (L1+1)
(L0+1) × (H1+1)
Pl1
L0 :
L1 :
H1 :
T :
Ph0:
Pl0:
Ph1:
Pl1:
ch0のPRLLの値 および ch0のPRLHの値
ch1のPRLLの値
ch1のPRLHの値
入力クロック周期
PPG(ch0)の"H"パルスの幅
PPG(ch0)の"L"パルスの幅
PPG(ch1)の"H"パルスの幅
PPG(ch1)の"L"パルスの幅
<注意事項>
ch0 の PRLL と ch0 の PRLH は , 同じ値を設定することを推奨します。
219
第 14 章 8/16 ビット PPG
14.7
8/16 ビット PPG の割込み
8/16 ビット PPG は , リロード値がカウントアウトし , ボローが発生したときに割込
み要求を出力します。
■ 8/16 ビット PPG の割込み
8 ビット PPG 2 チャネルモードおよび 8 ビットプリスケーラ +8 ビット PPG モードのと
きには , それぞれのカウンタのボローにより , それぞれの割込みの要求が行われますが ,
16 ビット PPG モードでは , 16 ビットカウンタのボローにより , PUF0 と PUF1 が同時に
セットされます。このため , 割込み要因を一本化するために , PIE0 または PIE1 のどちら
か一方のみを許可にすることを推奨します。
また , 割込みフラグのクリアも PUF0 と PUF1
を同時に行うことを推奨します。
220
第 14 章 8/16 ビット PPG
14.8
8/16 ビット PPG の各ハードウェアの初期値
8/16 ビット PPG の各ハードウェアは , リセット時に以下のように初期化されます。
■ 8/16 ビット PPG の各ハードウェアの初期値
● レジスタ
• PPGC0 → 0-000--1B
• PPGC1 → 0-000001B
• PPG01 → 000000--B
● パルス出力
PPG0 端子は出力禁止となります。
出力を許可した場合は "L" 出力となります。
● 割込み要求
割込み禁止となります。なお , リロード値は保持されます。
<注意事項>
8/16 ビット PPG のリロードレジスタ (PRLL, PRLH) へのライトタイミング 16 ビット PPG
モード以外のモードの場合には , リロードレジスタ (PRLL, PRLH) への書込みはワード転
送命令を使用することを推奨します。なお , バイト転送命令 2 回にて書き込んだ場合 , タ
イミングによっては , 予想しないパルス幅の出力が発生する可能性がありますので注意し
てください。
図 14.8-1 8/16 ビット PPG のリロードレジスタ (PRLL, PRLH) へのライトタイミングチャート
PPG 0
A
B
A
B
C
①
B
C
D
C
D
図 14.8-1 のタイムチャートにおいて , ①のタイミングの前で PRLL を A から C に書き
換えて , ①の後 PRLH の値を B から D に書き換えた場合 , ①のタイミングでの PRL の
値は PRLL=C, PRLH=B のため 1 回だけ "L" 側のカウント数 C, "H" 側のカウント数 B の
パルスが発生します。
同様に , 16 ビット PPG モードで使用する場合には , ch0 と ch1 の PRL はロングワード
転送で書き込むかまたは ch0 → ch1 の順にワード転送で書き込んでください。このモー
ドのときには , ch0 の PRL への書込みは , 一時的に書き込まれ , その後 ch1 の PRL に書
込みを行った時点で , 実際に ch0 の PRL への書込みが行われます。
なお , 図 14.8-2 に示すように , 16 ビット PPG モード以外では , ch0 と ch1 の PRL の書
込みは独立して行うことができます。
221
第 14 章 8/16 ビット PPG
図 14.8-2 PRL 書込み部分のブロックダイヤグラム
ch0のPRLの書込みデータ
16ビットPPGモード以外
の場合のch0の書込み
テンポラリラッチ
ch1のPRLの書込みデータ
16ビットPPGモード時
ch1の書込みに同期して
転送
ch1の書込み
ch0のPRL
222
ch1のPRL
第 15 章
遅延割込み
遅延割込みの機能と動作について説明します。
15.1 遅延割込みモジュールの概要
15.2 遅延割込みのレジスタ
15.3 遅延割込みの動作
223
第 15 章 遅延割込み
15.1
遅延割込みモジュールの概要
遅延割込み発生モジュールは , タスク切換え用の割込みを発生するためのモジュール
です。本モジュールを使用することで , ソフトウェアで F2MC-16LX CPU に対して
割込み要求の発生 / 取消しを行うことができます。
■ 遅延割込みのブロックダイヤグラム
図 15.1-1 に , 遅延割込み発生モジュールのブロックダイヤグラムを示します。
内部データバス
図 15.1-1 遅延割込みのブロックダイヤグラム
遅延割込み要因発生/解除デコーダ
要因ラッチ
■ 遅延割込み要求ロックの使用上の注意
このロックは DIRR の該当するビットに "1" を書き込むことでセットされ , 同じビット
に "0" を書き込むことでクリアされます。したがって , 割込み処理ルーチン内で要因を
クリアするようにソフトウェアを作成しておかないと割込み処理から復帰した途端に
再割込み処理を起動することになりますので注意してください。
224
第 15 章 遅延割込み
15.2
遅延割込みのレジスタ
DIRR は遅延割込み要求の発生 / 解除を制御するレジスタで , このレジスタに対して
"1" を書き込むときには遅延割込みの要求を発生させ , "0" を書き込むときには遅延
割込みの要求を解除します。リセット時には要因解除状態になります。
■ 遅延割込み要因発生 / 解除レジスタ (DIRR)
遅延割込み要因発生 / 解除レジスタ (DIRR) では , 予約ビット領域は "0", "1" どちらの書
込みも結構ですが , 将来の拡張を考慮してこのレジスタをアクセスする際にはセット
ビット , クリアビット命令を使用することをお勧めします。
遅延割込み要因発生 / 解除レジスタ (DIRR) のビット構成を図 15.2-1 に示します。
図 15.2-1 遅延割込み要因発生 / 解除レジスタ (DIRR)
アドレス : 00009FH
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
←ビット No.
─
(-)
(-)
─
(-)
(-)
─
(-)
(-)
─
(-)
(-)
─
(-)
(-)
─
(-)
(-)
─
(-)
(-)
R0
DIRR
(R/W)
(0)
225
第 15 章 遅延割込み
15.3
遅延割込みの動作
ソフトウェアにて CPU が DIRR の該当ビットに "1" を書き込むと , 遅延割込み発生
モジュールの中にある要求ラッチがセットされ , 割込みコントローラに割込み要求を
発生します。
■ 遅延割込み発生
ほかの割込み要求が本割込みより優先順位が低いあるいは,ほかの割込み要求がない場
合に , 割込みコントローラは F2MC-16LX CPU に対して割込み要求を発生します。図
15.3-1 に示すように , F2MC-16LX CPU は自分の内部にある CCR レジスタ中の ILM ビッ
トと割込み要求を比較し , 要求レベルが ILM ビットより高かったときに現在実行中の
命令が終了し次第 , ハードウェア割込み処理マイクロプログラムを起動します。この結
果 , 本割込みに対する割込み処理ルーチンが実行されます。
図 15.3-1 遅延割込み発生
遅延割込み発生モジュール
割込みコントローラ
F2MC-16LX CPU
ライト
他の要求
ICRyy
IL
CMP
DIRR
ICRxx
CMP
ILM
NTA
割込み処理ルーチン内で DIRR の該当ビットの "0" を書き込むことで本割込み要因をク
リアし , 合わせてタスクの切換えを行います。
226
第 16 章
DTP/ 外部割込み
DTP/ 外部割込みの機能と動作について説明しま
す。
16.1 DTP/ 外部割込みの概要
16.2 DTP/ 外部割込みのレジスタ
16.3 DTP/ 外部割込みの動作
16.4 DTP 要求と外部割込み要求の切換え
16.5 DTP/ 外部割込みの使用上の注意
227
第 16 章 DTP/ 外部割込み
16.1
DTP/ 外部割込みの概要
DTP(Data Transfer Peripheral) はデバイス外部に存在するペリフェラルと F2MC16LX CPU との間にあって , 外部ペリフェラルが発生する DMA 要求あるいは割込み
要求を受け取り , これを F2MC-16LX CPU に伝えてインテリジェント I/O サービス
あるいは割込み処理を起動させるための周辺です。
■ DTP/ 外部割込みの概要
インテリジェント I/O 機能に関しては "H" または "L" 要求レベルを使用することがで
きます。
外部割込み要求に対しては4種類の要求レベルを使用することができます("H",
"L" の立上りエッジおよび立下りエッジ )。
■ DTP/ 外部割込みのブロックダイヤグラム
図 16.1-1 DTP/ 外部割込みのブロックダイヤグラム
8
8
8
8
228
DTP/外部割込み許可レジスタ
ゲート
要因F/F
DTP/外部割込み要因レジスタ
要求レベル設定レジスタ
エッジ検出回路
8
要求入力
第 16 章 DTP/ 外部割込み
■ DTP/ 外部割込みのレジスタ
DTP/ 外部割込みのレジスタのビット構成を図 16.1-2 に示します。
図 16.1-2 DTP/ 外部割込みのレジスタ一覧
DTP/ 外部割込み許可レジスタ
アドレス : 000030H
リード / ライト→
初期値→
7
6
5
4
3
2
1
0
←ビット No.
EN7
EN6
EN5
EN4
EN3
EN2
EN1
EN0
ENIR
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
15
14
13
12
11
10
9
8
←ビット No.
ER7
(R/W)
(X)
ER6
(R/W)
(X)
ER5
(R/W)
(X)
ER4
(R/W)
(X)
ER3
(R/W)
(X)
ER2
(R/W)
(X)
ER1
(R/W)
(X)
ER0
(R/W)
(X)
EIRR
15
14
13
12
11
10
9
8
←ビット No.
DTP/ 外部割込み要因レジスタ
アドレス : 000031H
リード / ライト→
初期値→
要求レベル設定レジスタ
アドレス : 000033H
リード / ライト→
初期値→
アドレス : 000032H
リード / ライト→
初期値→
LB7
LA7
LB6
LA6
LB5
LA5
LB4
LA4
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
7
6
5
4
3
2
1
0
←ビット No.
LB3
(R/W)
(0)
LA3
(R/W)
(0)
LB2
(R/W)
(0)
LA2
(R/W)
(0)
LB1
(R/W)
(0)
LA1
(R/W)
(0)
LB0
(R/W)
(0)
LA0
(R/W)
(0)
ELVR
229
第 16 章 DTP/ 外部割込み
16.2
DTP/ 外部割込みのレジスタ
DTP/ 外部割込みのレジスタには , 次の 3 つがあります。
• DTP/ 外部割込み許可レジスタ (ENIR:Interrupt request enable register)
• DTP/ 外部割込み要因レジスタ (EIRR:External interrupt request register)
• 要求レベル設定レジスタ (ELVR:External level register)
■ DTP/ 外部割込み許可レジスタ (ENIR:Interrupt request enable register)
DTP/ 外部割込み許可レジスタ (ENIR) のビット構成を図 16.2-1 に示します。
図 16.2-1 DTP/ 外部割込み許可レジスタ (ENIR)
アドレス : 000030H
リード / ライト→
初期値→
7
6
5
4
3
2
1
0
←ビット No.
EN7
(R/W)
(0)
EN6
(R/W)
(0)
EN5
(R/W)
(0)
EN4
(R/W)
(0)
EN3
(R/W)
(0)
EN2
(R/W)
(0)
EN1
(R/W)
(0)
EN0
(R/W)
(0)
ENIR
DTP/ 外部割込み許可レジスタ (ENIR) は , デバイス端子を DTP/ 外部割込み要求入力と
して使用し , 割込みコントローラに対して要求を発生させる機能を動作させることを
決定するレジスタです。このレジスタの "1" が書かれたビットと対応する端子は DTP/
外部割込み要求入力として使用されます。"0" が書かれたビットと対応する端子は DTP/
外部割込み要求入力要因は保持しますが,割込みコントローラに対しては要求を発生し
ません。
■ DTP/ 外部割込み要因レジスタ (EIRR:External interrupt request register)
DTP/ 外部割込み要因レジスタ (EIRR) のビット構成を図 16.2-2 に示します。
図 16.2-2 DTP/ 外部割込み要因レジスタ (EIRR)
アドレス : 000031H
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
←ビット No.
ER7
(R/W)
(X)
ER6
(R/W)
(X)
ER5
(R/W)
(X)
ER4
(R/W)
(X)
ER3
(R/W)
(X)
ER2
(R/W)
(X)
ER1
(R/W)
(X)
ER0
(R/W)
(X)
EIRR
EIRR は , このレジスタの "1" となっているビットに対応する端子において DTP/ 外部割
込み要求が存在することを表します。このレジスタのビットに "0" を書き込むと対応
する要求フラグがクリアされます。"1" を書き込んでも効果はありません。リードモ
ディファイライト系命令によりこのレジスタからは常に "1" が読み出されます。
<注意事項>
複数の外部割込み要求出力が許可 (ENIR:EN7 ∼ EN0=1) されている場合 , CPU が割込みを
受け付けたビット (ER7 ∼ ER0 の 1 にセットされているビット ) だけを "0" にクリアする
ようにしてください。それ以外のビットを無条件にクリアすることは避けてください。
230
第 16 章 DTP/ 外部割込み
■ 要求レベル設定レジスタ (ELVR:External level register)
要求レベル設定レジスタ (ELVR) のビット構成を図 16.2-3 に示します。
図 16.2-3 要求レベル設定レジスタ (ELVR)
アドレス : 000033H
リード / ライト→
初期値→
アドレス : 000032H
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
LB7
(R/W)
(0)
LA7
(R/W)
(0)
LB6
(R/W)
(0)
LA6
(R/W)
(0)
LB5
(R/W)
(0)
LA5
(R/W)
(0)
LB4
(R/W)
(0)
LA4
(R/W)
(0)
7
6
5
4
3
2
1
0
←ビット No.
LB3
(R/W)
(0)
LA3
(R/W)
(0)
LB2
(R/W)
(0)
LA2
(R/W)
(0)
LB1
(R/W)
(0)
LA1
(R/W)
(0)
LB0
(R/W)
(0)
LA0
(R/W)
(0)
ELVR
←ビット No.
ELVR は外部端子における要求イベントを定義するものです。表 16.2-1 に示すように ,
各端子には 2 ビットが割り当てられます。入力レベルにより要求が検出された場合 , フ
ラグがソフトウェアによりリセットされた後でも入力が指定されたレベルを保持して
いれば , 割込みフラグはセットされます。
表 16.2-1 LBx と LAx 端子の割込み要求検出要因
LBx
LAx
割込み要求検出要因
0
0
1
1
0
1
0
1
"L" レベルが端子に入力
"H" レベルが端子に入力
立上りエッジが端子に入力
立下りエッジが端子に入力
231
第 16 章 DTP/ 外部割込み
16.3
DTP/ 外部割込みの動作
割込みフラグがセットされたときにこのブロックは割込みコントローラへ割込み信
号を送ります。割込みコントローラ内で同時発生した割込みの優先順位を識別した
結果 , 本リソースからの割込みが最も優先順位が高かったときに , 割込みコントロー
ラは F2MC-16LX CPU に対して割込み要求を発生します。F2MC-16LX CPU は自分
の内部にある CCR レジスタ中の ILM ビットと割込み要求を比較し , 要求レベルが
ILM ビットより高かったときに現在実行中の命令が終了し次第 , ハードウェア割込み
処理マイクロプログラムを起動します。
■ 外部割込みの動作
図 16.3-1 に示すように , ハードウェア割込み処理マイクロプログラムにおいて , CPU は
割込みコントローラから ISE ビットの情報を読み出し , これにより当該要求が割込み処
理であることを識別し , 割込み処理マイクロプログラムへ分岐します。割込み処理マイ
クロプログラムでは割込みベクタ領域の読出しと割込みコントローラへの割込みアク
ノリッジを発生し,ベクタから生成したマクロ命令のジャンプ先アドレスをプログラム
カウンタへ転送した上で , ユーザの割込み処理プログラムを実行します。
図 16.3-1 外部割込みの動作
DTP/外部割込み
割込みコントローラ
F2MC-16LX CPU
他の要求
ELVR
ICRyy
CMP
EIRR
ENIR
要因
IL
ICRxx
CMP
ILM
INTA
■ DTP の動作
初期化としてユーザプログラム内ではインテリジェント I/O サービスを起動するに当
たって , インテリジェント I/O サービスディスクリプタ内の I/O レジスタアドレスポイ
ンタに "000000H" から "0000FFH" に割りつけられているレジスタのアドレスを設定し ,
バッファアドレスポインタにメモリバッファの先頭アドレスを設定します。
DTP の動作シーケンスは外部割込みの場合とほぼ同じで , CPU がハードウェア割込み
処理マイクロプログラムを起動するまでは全く同じです。DTP の場合は CPU がハード
ウェア割込み処理マイクロプログラム内で読み出す ISE ビットの内容が DTP を示して
いるので , インテリジェント I/O サービス処理マイクロプログラムへ制御を移します。
インテリジェント I/O サービスが起動されると , アドレッシングされている外部ペリ
フェラルにリードまたはライト信号が送られ本チップとの転送が行われます。外部ペ
リフェラルはその転送が行われてから 3 マシンサイクル以内に本チップに対する割込
み要求を取り下げてください。転送が終了するとディスクリプタの更新などが行われ ,
その後,転送要因をクリアする信号を割込みコントローラに発生させます。転送要因
をクリアする信号を受け取った本リソースは要因を保持しているフリップフロップを
クリアして端子からの次の要求に備えます。インテリジェント I/O 機能処理の詳細に
ついては ,『MB90500 プログラミングマニュアル』を参照してください。
232
第 16 章 DTP/ 外部割込み
図 16.3-2 DTP 動作終了時の外部割込み取下げタイミング
割込み要因
内部動作
↑エッジ要求、または"H"レベル要求
ディスクリプタ
選択,読出し
アドレスバス端子
※拡張インテリジェントI/Oサービスが
I/Oレジスタ → メモリ転送のとき
リードアドレス
データバス端子
ライトアドレス
リードデータ
リード信号
ライトデータ
①
ライト信号
②
3マシンサイクル以内に取り下げる
図 16.3-3 DTP と外部ペリフェラルとのインタフェース簡略例
レジスタ
外部ペリフェラル
内部データバス
データ,アドレス,バス
IRQ
転送終了後3マシンサイクル
以内に取り下げる
②
①
INT
DTP
CORE
MEMORY
MB90540/545
233
第 16 章 DTP/ 外部割込み
16.4
DTP 要求と外部割込み要求の切換え
外部割込み要求と DTP 要求の切換えは , 割込みコントローラの中にある , 本リソース
に対応する ICR レジスタ中の ISE ビットの設定によって行います。各端子に対応し
て個々に ICR が割り当てられていますので , 対応する ICR の ISE ビットに "1" が書
かれた端子が DTP 要求として , また , "0" が書かれた場合には外部割込み要求とし
て , それぞれ動作することになります。
■ DTP 要求と外部割込み要求の切換え
図 16.4-1 DTP 要求と外部割込み要求の切換え
割込みコントローラ
ICRxx
ICRyy
0
1
F2MC-16LX CPU
端子
DTP/外部割込み
DTP
外部割込み
234
第 16 章 DTP/ 外部割込み
16.5
DTP/ 外部割込みの使用上の注意
DTP/ 外部割込みを使用する際には , 次の点について特に注意が必要です。
• DTP を用いたときの外部に接続するペリフェラルの条件
• DTP/ 外部割込みの動作手順
• 外部割込み要求レベル
■ DTP/ 外部割込みの使用上の注意
● DTP を用いたときの外部に接続するペリフェラルの条件
DTP がサポートできる外部ペリフェラルは , 転送が行われたことにより自動的に要求
をクリアするものでなければなりません。また , 転送動作が開始した後 3 マシンサイク
ル以内 ( 暫定値 ) で転送要求を取り下げるようになっていないと , 本リソースは次の転
送要求が発生したものとして扱ってしまいます。
● DTP/ 外部割込みの動作手順
DTP/ 外部割込み内に存在するレジスタの設定を行う際 , 次の手順で設定してください。
1)外部割込み入力として使用する端子と兼用する汎用入出力ポートを入力ポートに
設定する。
2) 許可レジスタの対象となるビットを禁止状態にする。
3) 要求レベル設定レジスタの対象となるビットを設定する。
4) 要因レジスタの対象となるビットをクリアする。
5) 許可レジスタの対象となるビットを許可状態にする。
( ただし , 4) と 5) はワード指定による同時書込み可 )。
本リソース内のレジスタを設定するときには必ず許可レジスタを禁止状態に設定して
おかなくてはなりません。また , 許可レジスタを許可状態にする前に必ず要因レジスタ
をクリアしておく必要があります。これは , レジスタ設定時や割込み許可状態時に誤っ
て割込み要因が起こってしまうことを避けるためです。
● 外部割込み要求レベル
要求レベルがエッジ要求のとき , エッジがあったことを検出するためには , パルス幅は
最小 3 マシンサイクル必要とします。
図 16.5-1 に示すように , 要求入力レベルがレベル設定のとき , 外部より要求入力が入っ
てその後取り下げられても, 割込み要求許可状態 (ENIR:EN=1) であれば, 割込みコント
ローラへの要求は動作中のままです。図 16.5-2 に示すように , 割込みコントローラへ
の要求を取り下げるには割込み要求フラグビット (EIRR:ER) をクリアする必要があり
ます。
235
第 16 章 DTP/ 外部割込み
図 16.5-1 レベル設定時の割込み要求フラグビット (EIRR:ER) のクリア
割込み要因
レベル検出
割込み要求フラグ
ビット(EIRR:ER)
許可ゲート
割込み
コントローラへ
クリアしない限り要因を保持し続ける
図 16.5-2 割込み許可時の割込み要因と割込みコントローラへの割込み要求
割込み要因
("H"レベル検出の場合)
割込みコントローラ
への割込み要求
割込み要因の取下げ
割込み要求フラグビット(EIRR:ER)のクリアに
よってインアクティブとなる
236
第 17 章
A/D コンバータ
A/D コンバータの機能と動作について説明します。
17.1 A/D コンバータの特長
17.2 A/D コンバータのブロックダイヤグラム
17.3 A/D コンバータのレジスタ一覧
17.4 A/D コンバータの動作
17.5 EI2OS を使った変換動作
17.6 変換データ保護機能
237
第 17 章 A/D コンバータ
17.1
A/D コンバータの特長
A/D コンバータは , アナログ入力電圧をデジタル値に変換するものです。A/D コン
バータの特長は次のとおりです。
■ A/D コンバータの特長
● 変換時間
1 チャネル当たり最小 26.3 µs(16MHz のマシンクロック )
● サンプル & ホールド回路付き RC 型逐次比較変換方式を採用
● 10 ビットまたは 8 ビットの分解能
● アナログ入力は 8 チャネルからプログラムで選択
• シングル変換モード : 1 チャネルを選択変換
• スキャン変換モード : 連続した複数のチャネルを変換。最大 8 チャネルプログラム
可能
• 連続変換モード
: 指定チャネルを繰り返し変換
• 停止変換モード
: 指定チャネルを変換したら一時停止して次の起動が掛かるま
で待機 ( 変換開始の同期が可能 )
● 割込み要求
A/D 変換終了時には , CPU に対して A/D 変換終了の割込み要求を発生させることがで
きます。この割込み発生で EI2OS を起動することができ A/D 変換結果データをメモリ
に自動的に転送できますので連続処理に適しています。
● 起動要因を選択可能
起動要因は , ソフト , 外部トリガ ( 立下りエッジ ) またはタイマ ( 立上りエッジ ) があ
ります。
■ アナログ入力許可レジスタ
アナログ入力に使用される端子に対応する ADER ビットに常に "1" を書き込んでくだ
さい。
アナログ入力許可レジスタ (ADER) のビット構成を図 17.1-1 に示します。
図 17.1-1 アナログ入力許可レジスタ
アドレス:00001BH
リード / ライト→
初期値→
7
6
5
4
3
2
1
0
ADE7
ADE6
ADE5
ADE4
ADE3
ADE2
ADE1
ADE0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
ポート 6 端子は次のように制御されます。
• 0: ポート入力 / 出力モード
• 1: アナログ入力モード
• リセット時には "1" がセットされます。
238
←ビット No.
ADER
第 17 章 A/D コンバータ
■ 入力インピーダンス
A/D コンバータのサンプリング回路は次の等価回路で表されます。
図 17.1-2 入力インピーダンス
最大 3.2 kΩ
ADC
アナログ入力
最大 30 pF
サンプリング時間が 4 µs (16 MHz のマシンクロックで ST = 0 および ST0 = 0) にセット
されたとき , アナログ入力への駆動インピーダンスは 15.5 kΩ以下でなければなりませ
ん。そうしなければ変換の精度は低下します。この場合 , サンプリング時間をさらに長
く設定する (ST1 = 1 および ST0 = 1) か , 外部コンデンサを付加して駆動インピーダン
スを補償してください。
239
第 17 章 A/D コンバータ
17.2
A/D コンバータのブロックダイヤグラム
図 17.2-1 に , A/D コンバータのブロックダイヤグラムを示します
■ A/D コンバータのブロックダイヤグラム
図 17.2-1 A/D コンバータのブロックダイヤグラム
AVCC
AVRH/AVRL
AVSS
A/Dコンバータ
MPX
入力回路
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
逐次比較レジスタ
比較器
サンプル&
ホールド回路
A/Dデータレジスタ
ADCR0/ADCR1
A/D制御ステータスレジスタ0
ADTG端子
外部トリガ起動
16ビットリロードタイマ1
タイマ起動
φ
240
A/D制御ステータスレジスタ1
ADCS0/ADCS1
動作クロック
プリスケーラ
第 17 章 A/D コンバータ
17.3
A/D コンバータのレジスタ一覧
A/D コンバータのレジスタには次の 2 つがあります。
• A/D 制御ステータスレジスタ 0/1
• A/D データレジスタ 0/1
■ A/D コンバータのレジスタ一覧
A/D コンバータには次のレジスタがあります。
図 17.3-1 A/D コンバータのレジスタ配置
15
8
7
0
ADCS1
ADCR1
ADCS0
8ビット
8ビット
ADCR0
A/D コンバータのレジスタのビット構成を図 17.3-2 に示します。
図 17.3-2 A/D コンバータのレジスタ
A/D 制御ステータスレジスタ 0
7
6
5
4
3
2
1
0
←ビット No.
ADCS0
アドレス : 000034H
MD1
MD0
ANS2
ANS1
ANS0
ANE2
ANE1
ANE0
リード / ライト→
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
A/D 制御ステータスレジスタ 1
15
14
13
12
11
10
9
8
←ビット No.
BUSY
(R/W)
(0)
INT
(R/W)
(0)
INTE
(R/W)
(0)
PAUS
(R/W)
(0)
STS1
(R/W)
(0)
STS0
(R/W)
(0)
STRT
(W)
(0)
予約
(R/W)
(0)
ADCS1
7
6
5
4
3
2
1
0
←ビット No.
D7
(R)
(X)
D6
(R)
(X)
D5
(R)
(X)
D4
(R)
(X)
D3
(R)
(X)
D2
(R)
(X)
D1
(R)
(X)
D0
(R)
(X)
ADCR0
15
14
13
12
11
10
9
8
←ビット No.
アドレス : 000037H
SI0
ST1
ST0
CT1
CT0
D9
D8
ADCR1
リード / ライト→
初期値→
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(0)
(W)
(1)
─
(-)
(-)
(R)
(X)
(R)
(X)
アドレス : 000035H
リード / ライト→
初期値→
A/D データレジスタ 0
アドレス : 000036H
リード / ライト→
初期値→
A/D データレジスタ 1
241
第 17 章 A/D コンバータ
A/D 制御ステータスレジスタ 0 (ADCS0)
17.3.1
A/D 制御ステータスレジスタ 0 (ADCS0) は , A/D コンバータの制御およびステータス表
示を行います。ADCS0 は A/D 変換動作中に書き換えないようにしてください。
■ A/D 制御ステータスレジスタ 0 (ADCS0)
A/D 制御ステータスレジスタ 0 (ADCS0) のビット構成を図 17.3-3 に示します。
図 17.3-3 A/D 制御ステータスレジスタ 0 (ADCS0)
7
アドレス : 000034H
MD1
リード / ライト→
初期値→
(R/W)
(0)
6
5
4
3
2
1
0
←ビット No.
MD0
ANS2
ANS1
ANS0
ANE2
ANE1
ANE0
ADCS0
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
【bit 7, bit 6】MD1, MD0 (A/D converter mode set)
MD1, MD0 ビットは , 動作モードを設定します。
MD1
MD0
動作モード
0
0
0
1
単発モード , 動作中の再起動不可能
1
0
連続モード , 動作中の再起動不可能
1
1
停止モード , 動作中の再起動不可能
単発モード , 動作中の再起動はすべて可能
● 単発モード
ANS2 ∼ ANS0 の設定チャネルから ANE2 ∼ ANE0 の設定チャネルまで A/D 変換を連
続して行いすべてのチャネルの変換が終了したら停止する。
● 連続モード
ANS2 ∼ ANS0 の設定チャネルから ANE2 ∼ ANE0 の設定チャネルまで A/D 変換を繰
り返し行います。
● 停止モード
ANS2 ∼ ANS0 の設定チャネルから ANE2 ∼ ANE0 の設定チャネルまで 1 チャネルご
とに A/D 変換を行い一時停止する。変換再開は起動要因発生によって行われます。
リセット時には本ビット群は "00B" に初期化されます。
<注意事項>
• 連続モード , 停止モードで A/D 変換を起動すると , BUSY ビットで停止するまで変換動
作を続けます。
• 停止は BUSY ビットに "0" を書き込むことにより行われます。
• 単発 , 連続 , 停止の各モードの再起動の不可能はタイマ , 外部トリガ , ソフトすべての
起動に適用されます。
242
第 17 章 A/D コンバータ
【bit 5 ∼ bit 3】ANS2, ANS1, ANS0 (Analog start channel set)
本ビット群より A/D 変換の開始チャネルを設定します。
A/D コンバータを起動すると , このビットで選択されたチャネルから A/D 変換を開始
します。
ANS2
ANS1
ANS0
開始チャネル
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
<注意事項>
• リード
A/D 変換の間 , 現在の変換チャネルが本ビット群から読み込まれます。もしシステムが
停止モードで停止すれば最後の変換チャネルが読み込まれます。また , 本ビットに値を
設定した場合でも , A/D 変換が開始されるまでは , 設定した値ではなく , 前回に A/D 変
換したチャネル番号が読み出されます。
• リセット時に本ビット群は "000B" に初期化されます。
【bit 2 ∼ bit0】ANE2, ANE1, ANE0 (Analog end channel set)
本ビット群より A/D 変換の終了チャネルを設定します。
ANE2
ANE1
ANE0
終了チャネル
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
243
第 17 章 A/D コンバータ
<注意事項>
• 同一のチャネルが ANE2 ∼ ANE0 および ANS2 ∼ ANS0 に書き込まれると , 変換は 1
つのチャネルに対してのみ行われます ( シングル変換 )。
• 連続モード,停止モードを設定している場合は本ビット群で設定されたチャネルの変換
が終わると ANS2 ∼ ANS0 で設定された開始チャネルに戻ります。
• 設定チャネルが ANS > ANE の場合は , ANS より変換が始まり AN7 まで変換したら
AN0 に戻り ANE まで変換します。
例:チャネル設定
ANS =AN6, ANE = AN3 で単発モードのとき変換は次の順序で行われます。
AN6 → AN7 → AN0 → AN1 → AN2 → AN3
• リセット時に本ビット群は "000B" に初期化されます。
244
第 17 章 A/D コンバータ
A/D 制御ステータスレジスタ 1 (ADCS1)
17.3.2
A/D 制御ステータスレジスタ 1 (ADCS1) は , A/D コンバータの制御およびステータ
ス表示を行います。
■ A/D 制御ステータスレジスタ 1 (ADCS1)
A/D 制御ステータスレジスタ 1 (ADCS1) のビット構成を図 17.3-4 に示します。
図 17.3-4 A/D 制御ステータスレジスタ 1 (ADCS1)
アドレス : 000035H
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
←ビット No.
BUSY
(R/W)
(0)
INT
(R/W)
(0)
INTE
(R/W)
(0)
PAUS
(R/W)
(0)
STS1
(R/W)
(0)
STS0
(R/W)
(0)
STRT
(W)
(0)
予約
(R/W)
(0)
ADCS1
【bit 15】BUSY (busy flag and stop)
• リード時
- A/D コンバータ動作表示用のビットです。
- A/D 変換起動でセットされ終了でクリアされます。
• ライト時
- A/D 動作中に本ビットに "0" を書き込むと強制的に動作を停止します。
- 連続 , 停止モード時の強制停止に利用します。
動作表示用のビットに "1" を書き込むことはできません。リードモディファイライト
系命令では "1" が読まれます。単発モードでは A/D 変換終了でクリアされます。
連発 , 停止モードでは "0" 書込みで停止するまでクリアされません。
リセット時に本ビットは "0" に初期化されます。
強制停止とソフト起動を同時に行わないでください (BUSY=0, STRT=1)。
【bit 14】INT (interrupt)
変換データが ADCR に書き込まれるとセットされます。
bit5(INTE) が "1" のときに本ビットがセットされると割込み要求が発生します。また,
EI2OS 起動を許可している場合 EI2OS が起動されます。
"1" 書込みは意味を持ちません。
クリアは "0" 書込みと EI2OS 割込みクリア信号で行われます。
<注意事項>
本ビットの "0" 書込みクリアは A/D 停止中に行ってください。
リセット時に本ビットは "0" に初期化されます。
245
第 17 章 A/D コンバータ
【bit 13】INTE (Interrupt enable)
本ビットは変換終了による割込みの許可・禁止を指定します。
• 0: 割込みの禁止
• 1: 割込みの許可
EI2OS を使用するときは本ビットをセットしてください。EI2OS は割込み要求発生で起
動するようになっています
リセット時に本ビットは "0" に初期化されます。
【bit 12】PAUS (A/D converter pause)
A/D 変換動作が一時的に停止した場合にセットされます。
A/D 変換結果を格納するレジスタが 1 つのため連続で変換した場合 , 変換結果を EI2OS
で転送しなければ前データが壊れてしまいます。
これを保護するためデータレジスタの内容を EI2OS で転送しなければ次の変換データ
が格納されないようになっています。この間 A/D 変換動作は停止します。EI2OS で転
送を終了すると A/D は変換を再開します。
このビットは EI2OS を使用したときのみ有効です。
<注意事項>
• 変換データの保護機能に関しては「17.4 A/D コンバータの動作」を参照してください。
• リセット時に本ビットは "0" に初期化されます。
【bit 11, bit 10】STS1, STS0 (Start source select)
リセット時に本ビット群は "00B" に初期化されます。
本ビットの設定により A/D 起動要因を選択します。
STS1
STS0
0
0
ソフト起動
0
1
外部端子トリガでの起動とソフト起動
1
0
タイマでの起動とソフト起動
1
1
外部端子トリガ , タイマでの起動とソフト起動
機能
2 つ以上の起動要因が許可されているモードでは最初に生じた原因により A/D 変換が
起動されます。
起動源の設定は書き換えられると直ちに変わりますので, A/D変換中に書き換えるとき
には注意してください。
<注意事項>
• 外部端子トリガは立下りエッジを検出します。外部トリガ入力レベルが "L" のときに本
ビットを書き換えて外部端子トリガ起動に設定すると A/D が起動する場合があります。
• タイマ選択時は , 16 ビットリロードタイマ 1 が選択されます。
246
第 17 章 A/D コンバータ
【bit 9】STRT (Start)
本ビットに "1" を書き込むことにより A/D を起動します。
再起動をかけるときは , 再び "1" を書き込んでください。
リセット時に本ビットは "0" に初期化されます。
停止モード時は , 動作機能上再起動はかかりません。"1" を書き込む前に BUSY ビット
をチェックしてください。
強制停止とソフト起動を同時に行わないでください (BUSY=0, STRT=1)。
バイト / ワード命令では "1" が読み出されます。リードモディファイライト系命令では
"0" が読み出されます。
【bit 8】予約ビット
本ビットには常に "0" を書き込んでください。
247
第 17 章 A/D コンバータ
17.3.3
A/D データレジスタ 0/1 (ADCR0, ADCR1)
A/D データレジスタ 0/1 (ADCR0, ADCR1) は , 変換の結果として生成されたデジタ
ル値を格納するために使用されるものです。ADCR0 は下位 8 ビットを格納し ,
ADCR1 は変換結果の最上位の 2 ビットを格納します。これらのレジスタ値は変換が
完了するたびに書き換えられます。通常は最後の変換値が本ビット群に格納されま
す。
■ A/D データレジスタ 0/1(ADCR0, ADCR1)
A/D データレジスタ 0/1 (ADCR0, ADCR1) のビット構成を図 17.3-5 に示します。
図 17.3-5 A/D データレジスタ 0/1 (ADCR0, ADCR1)
A/D データレジスタ 0
7
6
5
4
3
2
1
0
←ビット No.
ADCR0
アドレス : 000036H
D7
D6
D5
D4
D3
D2
D1
D0
リード / ライト→
初期値→
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
(R)
(X)
15
14
13
12
11
10
9
8
←ビット No.
SI0
(W)
(0)
ST1
(W)
(0)
ST0
(W)
(0)
CT1
(W)
(0)
CT0
(W)
(1)
─
(-)
(-)
D9
(R)
(X)
D8
(R)
(X)
ADCR1
A/D データレジスタ 1
アドレス : 000037H
リード / ライト→
初期値→
ADCR1 の bit10 ∼ bit15 からは常に "0" が読み込まれます。
変換データの保護機能を利用することができます。
「17.4 A/D コンバータの動作」を参
照してください。
A/D 変換の間はこれらのレジスタにデータを絶対に書き込まないでください。
【bit 15】SI0
本ビットは変換の分解能を指定します。"0" にセットされると 10 ビットの A/D 変換が
行われます。そのほかの場合には 8 ビットの A/D 変換が行われてその結果は D7 ∼ D0
に格納されます。
本ビットを読み出すと常に "0" が戻されます。
【bit 14, bit 13】ST1, ST0 (Sampling time)
ST1
ST0
0
0
64 マシンサイクル (16 MHz で 4 µs)
0
1
予約
1
0
予約
1
1
4096 マシンサイクル (16 MHz で 256 µs)
機能
本ビット群は入力時における電圧サンプリング時間の持続時間を決定するものです。
本ビット群を読み出すと常に "00B" が戻されます。
248
第 17 章 A/D コンバータ
【bit12, bit 11】CT1, CT0 (Compare time)
CT1
CT0
0
0
176 マシンサイクル (8 MHz で 22 µs)
0
1
352 マシンサイクル (16 MHz で 22 µs)
1
0
予約
1
1
予約
機能
本ビット群は比較操作時間の持続期間を決定するものです。
本ビットを "00B" に設定するときはマシンクロックが 8 MHz 以下のときにしてくださ
い。8 MHz を超える場合には変換精度が保証されません。
本ビット群を読み出すと常に "00B" が戻されます。
249
第 17 章 A/D コンバータ
17.4
A/D コンバータの動作
A/D コンバータは逐次比較方式で動作し , 分解能は 10 ビットまたは 8 ビットを選択
することができます。
この A/D コンバータは変換結果格納用のレジスタが 1 つ (16 ビット ) であるため ,
A/D データレジスタ 0/1 (ADCR0 および ADCR1) は変換が完了するたびに書き換え
られます。
このため , A/D コンバータ単独では連続変換処理には適しませんので F2MC-16 イン
テリジェント I/O 機能 (EI2OS) を使って変換データをメモリに転送しながら変換す
ることを推奨いたします。動作モードを次に説明します。
■ 単発モード
単発モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい
き ANE ビットで設定された終了チャネルまで変換が終わると A/D は動作を停止しま
す。開始チャネルと終了チャネルが同じとき (ANS=ANE) は一方のチャネルのみの変
換動作になります。
【例】
ANS = 000B, ANE = 011B
開始 → AN0 → AN1 → AN2 → AN3 → 終了
ANS = 010B, ANE = 010B
開始 → AN2 → 終了
■ 連続モード
連続モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい
き ANE ビットで設定された終了チャネルまで変換が終わると ANS のアナログ入力に
戻り変換動作を続けます。開始チャネルと終了チャネルが同じとき (ANS = ANE) は一
方のチャネルのみの変換を続けます。
【例】
ANS = 000B, ANE = 011B
開始→ AN0 → AN1 → AN2 → AN3 → AN0 -- →繰返し
ANS = 010B, ANE = 010B
開始→ AN2 → AN2 → AN2 -- →繰返し
連続モードで変換させると BUSY ビットに "0" を書き込むまで変換を繰り返し続けま
す (BUSY ビットに "0" を書き込む→強制動作停止 )。強制動作停止を行うと変換中の
ものは途中で止まってしまうため , 注意してください ( 強制動作停止した場合は , 変換
レジスタは変換完了した前データが格納されています )。
250
第 17 章 A/D コンバータ
■ 停止モード
停止モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい
きますが 1 チャネル変換するたびに変換動作を一時停止します。一時停止を解除する
にはもう一度起動をかけることにより行われます。
ANE ビットで設定された終了チャネルまで変換が終わると ANS のアナログ入力に戻
り変換動作を続けます。開始チャネルと終了チャネルが同じ (ANS = ANE) であれば変
換は一方のチャネルに対してのみ実行されます。
【例】
ANS = 000B, ANE = 011B
開始 → AN0 →停止→起動→ AN1 →停止→起動→ AN2 →停止→起動→ → AN3 →停止→起動→ AN0 -- →繰返し
ANS = 010B, ANE = 010B
開始 → AN2 →停止→起動→ AN2 →停止→起動→ AN2 -- →繰返し
このときの起動要因は STS1, STS0 で設定されたものだけです。
このモードを使用することにより変換開始の同期を掛けることが可能です。
251
第 17 章 A/D コンバータ
17.5
EI2OS を使った変換動作
図 17.5-1 に , A/D 変換起動から変換データ転送までのフロー例 ( 連続モード ) を示
します。
■ EI2OS を使った変換動作
図 17.5-1 A/D 変換起動から変換データ転送までのフロー例 ( 連続モード )
A/D変換起動
サンプル&ホールド
EI2OS起動
変換
データ転送
変換終了
割込み発生
*: EI:2 OSの設定で決まります。
252
*
割込みクリア
割込み処理
第 17 章 A/D コンバータ
単発モード時の EI2OS の起動例
17.5.1
単発モード時の EI2OS は次の手順で起動します。
• アナログ入力 AN1 ∼ AN3 の変換をして終了する。
• 変換データは "200H" ∼ "205H" 番地に順に転送する。
• ソフトウェアで変換を開始する。
• 最高の割込みレベルを使用する。
■ 単発モード時の EI2OS の起動例
表 17.5-1 単発モード時の EI2OS の起動例
設定項目
プログラム例
MOV ICR3, #08H
動作説明
最強割込みレベル , 割込み時 EI2OS 起動 , ディスクリプタアドレス
の設定
MOV BAPL, #00H
MOV BAPM, #02H
EI2OS
の設定
A/D コンバータ設定
割込みシーケンス
ICR3
変換データの転送先番地
MOV BAPH, #00H
MOV ISCS, #18H
ワードデータ転送 , 転送後転送先番地をインクリメントする。I/O か
らメモリへ転送。転送はリソースからの要求に応じて終了しない。
MOV I/OA, #36H
転送元アドレス
MOV DCT, #03H
EI2OS 転送を 3 回行う。変換回数と同じにする。
MOV ADCS0 #0BH 単発モード , 開始チャネル AN1, 終了チャネル AN3
MOV ADCS1 #A2H ソフト起動 , A/D 変換開始
RET
割込みからの復帰
: 割込み制御レジスタ
BAPL : バッファアドレスポインタ下位
BAPM : バッファアドレスポインタ中位
BAPH : バッファアドレスポインタ上位
ISCS
: EI2OS ステータスレジスタ
I/OA
: I/O アドレスカウンタ
DCT
: データカウンタ
図 17.5-2 単発モード時の EI2OS の起動例
起動開始
AN1 →
割込み→EI2OS転送
AN2 →
割込み→EI2OS転送
AN3 →
割込み→EI2OS転送
終了
割込みシーケンス
並行処理
253
第 17 章 A/D コンバータ
17.5.2
連続モード時の EI2OS の起動例
連続モード時の EI2OS の起動例は次のとおりです。
• アナログ入力 AN3 ∼ AN5 の変換をして各チャネルの変換データを 2 つ取得する。
• 変換データは "600H" ∼ "60BH" 番地に順に転送する。
• 起動は外部エッジ入力で行う。
• 割込みレベル最強
■ 連続モード時の EI2OS の起動例
表 17.5-2 連続モード時の EI2OS の起動例
設定項目
プログラム例
動作説明
MOV ICR3 #08H
最強割込みレベル , 割込み時
EI2OS
起動 , ディスクリプタアドレスの設定
MOV BAPL, #00H
MOV BAPM, #06H
EI2OS の設定
MOV ISCS, #18H
ワードデータ転送 , 転送後転送先番地をインクリメントする。I/O からメモ
リへ転送。リソースからの要求で終了しない。
MOV I/OA, #36H
転送元アドレス
MOV DCT, #06H
EI2OS 転送を 6 回行う。3 チャネル× 2 分のデータ転送を行う。
A/D コンバー MOV ADCS0 #9DH
タ設定
MOV ADCS1 #A4H
割込み
シーケンス
ICR3
変換データの転送先番地
MOV BAPH, #00H
MOV ADCS1 #00H
RET
連続モード , 開始チャネル AN3, 終了チャネル AN5
外部エッジ起動 , A/D 変換開始
割込みからの復帰
: 割込み制御レジスタ
BAPL : バッファアドレスポインタ下位
BAPM : バッファアドレスポインタ中位
BAPH : バッファアドレスポインタ上位
ISCS
: EI2OS ステータスレジスタ
I/OA
: I/O アドレスカウンタ
DCT
: データカウンタ
図 17.5-3 連続モード時の EI2OS の起動例
起動開始
AN3 →
割込み→EI2OS
AN4 →
割込み→EI2OS
全6回転送後
AN5 →
割込み→EI2OS
割込みシーケンス
終了
254
第 17 章 A/D コンバータ
停止モード時の EI2OS の起動例
17.5.3
停止モード時の EI2OS の起動例は , 次のとおりです。
• アナログ入力 AN3 を一定期間おいて 12 回変換する。
• 変換データは 600H ∼ 617H 番地に順に転送する。
• 起動は外部エッジ入力で行う。
• 割込みレベル最強
■ 停止モード時の EI2OS の起動例
表 17.5-3 停止モード時の EI2OS の起動例
設定項目
プログラム例
MOV ICR3 #08H
動作説明
最強割込みレベル , 割込み時
EI2OS
起動 , ディスクリプタアドレスの設定
MOV BAPL, #00H
MOV BAPM, #06H
EI2OS の設定
A/D コンバータ
設定
MOV ISCS, #18H
ワードデータ転送 , 転送後転送先番地をインクリメントする。I/O からメモ
リへ転送。リソースからの要求で終了しない。
MOV I/OA, #36H
転送元アドレス
MOV DCT, #0CH
EI2OS 転送を 12 回行う。
MOV ADCS0
#DBH
停止モード , 開始チャネル AN3, 終了チャネル AN3 (1 チャネル変換 )
MOV ADCS1 #A4H 外部エッジ起動 , A/D 変換開始
EI2OS 終了割込み MOV ADCS1 #00H
RET
シーケンス
ICR3
変換データの転送先番地
MOV BAPH, #00H
割込みからの復帰
: 割込み制御レジスタ
BAPL : バッファアドレスポインタ下位
BAPM : バッファアドレスポインタ中位
BAPH : バッファアドレスポインタ上位
ISCS
:EI2OS ステータスレジスタ
I/OA
:I/O アドレスカウンタ
DCT
: データカウンタ
図 17.5-4 停止モード時の EI2OS の起動例
起動開始
AN3 →
割込み→EI2OS転送
12回転送後
停止
割込みシーケンス
外部エッジ起動
終了
255
第 17 章 A/D コンバータ
17.6
変換データ保護機能
A/D コンバータは , 変換データ保護機能を持ち EI2OS を使って連続変換と複数の
データを確保できることを特長としています。
A/D データレジスタは 1 つで , その値は変換ごとに書き換えられています。そのた
め , 連続で A/D 変換をすると 1 回の変換終了と共に変換データが格納されて前デー
タが失われます。これを保護するために , 本 A/D コンバータは変換が終了しても前
データが EI2OS を使ってメモリへ転送されていないと変換データはレジスタに格納
されず A/D は一時停止する機能を持っています。
■ 変換データ保護機能
一時停止の解除は EI2OS でメモリへ転送された後 , 行われます。
前データがメモリへ転送されていれば一時停止することなく A/D は連続して変換しま
す。
<注意事項>
この機能は ADCS1 の INT, INTE ビットに関係しています。
変換データ保護機能は割込み許可 (INTE = 1) 状態でしか動作しないようになっています。
割込み禁止 (INTE = 0) の場合は , 本機能は動作せず , 連続で A/D 変換を行った場合は , 次々
に変換データはレジスタに格納されて旧データは失われます。
また , 割込み許可 (INTE = 1) 状態で EI2OS を使わない場合は , INT ビットはクリアされな
いため , データ保護機能が働き , A/D は変換を一時停止状態にします。この場合は割込み
シーケンスで INT ビットをクリアすると停止状態が解除されます。
EI2OS 動作中で , A/D コンバータが一時停止をしているときに割込みを禁止にすると ,
A/D コンバータが再動作し , 転送する前に A/D データレジスタの内容が変わることがあり
ます。
また , 一時停止中に再起動をかけると待機データが壊れます。
256
第 17 章 A/D コンバータ
■ 変換データ保護機能のフロー例 (EI2OS の場合 )
図 17.6-1 変換データ保護機能のフロー例 (EI2OS の場合 )
EI2OS設定
A/D連続変換起動
1回変換終了
A/Dデータレジスタに格納
2回変換終了
EI2OS終了
EI2OS起動
NO
A/D変換一時停止
YES
A/Dデータレジスタに格納
YES
EI2OS終了
*
NO
EI2OS起動
3回変換終了
続く
すべて変換終了
EI2OS起動
割込みルーチン
終了
A/D変換停止
*:一時停止中にコンバータを再度動作させると,待機中の変換データを
そこないます。
■ 変換データ保護機能の使用上の注意
A/D コンバータを外部トリガまたは内部タイマを使って起動する場合 , ADCS1 レジス
タの A/D 起動要因ビット STS1, STS0 で設定しますが , このときに外部トリガおよび内
部タイマの入力値はインアクティブ側の状態で設定してください。アクティブ側にし
ておくと動作し始める場合があります。
STS1 および STS0 をセットする場合には必ず , ADTG に対して "1"( 入力 ) を指定し内
部タイマ ( タイマ 2) に対しては "0"( 出力 ) を指定してください。
257
第 17 章 A/D コンバータ
258
第 18 章
UART0
UART0 の機能と動作について示します。
18.1 UART0 の特長
18.2 UART0 のブロックダイヤグラム
18.3 UART0 のレジスタ
18.4 UART0 の動作
18.5 ボーレート
18.6 内部クロックおよび外部クロック
18.7 転送データフォーマット
18.8 パリティビット
18.9 割込み生成とフラグのセットタイミング
18.10 UART0 の応用例
259
第 18 章 UART0
18.1
UART0 の特長
UART0 は , 外部デバイスと非同期 ( 調歩同期 ) 通信または CLK 同期通信を行うため
のシリアル I/O ポートです。
■ UART0 の特長
UART0 には以下の特長があります。
• 全二重ダブルバッファ
• CLK 同期と CLK 非同期調歩式データ転送のサポート
• マルチプロセッサモードのサポート ( モード 2)
• 専用ボーレートジェネレータの内蔵 (12 種類 )
• 外部クロック入力または内部タイマによる自由なボーレート設定のサポート
• 可変長データ (7 ∼ 9 ビット [ パリティなし ], 6 ∼ 8 ビット [ パリティあり ])
• エラー検出機能 ( パリティ , フレーミング , オーバラン )
• 割込み機能 ( 受信割込みと送信割込み )
• NRZ 形式の転送フォーマット
260
第 18 章 UART0
UART0 のブロックダイヤグラム
18.2
図 18.2-1 に , UART0 のブロックダイヤグラムを示します。
■ UART0 のブロックダイヤグラム
図 18.2-1 全体のブロックダイヤグラム
制御信号
受信割込み
(CPUへ)
専用ボーレート
クロック
SCK0
16ビットリロード
タイマ0
送信クロック
クロック
選択回路
送信割込み
(CPUへ)
受信クロック
SCK0
受信制御回路
SIN0
送信制御回路
スタートビット
検出回路
送信スタート
回路
受信ビット
カウンタ
送信ビット
カウンタ
受信パリティ
カウンタ
送信パリティ
カウンタ
SOT0
受信状態判定回路
受信用シフタ
送信用シフタ
受信終了
送信開始
UIDR0
UODR0
EI2OS用
受信エラー発生信号
(CPUへ)
内部データバス
UMC0
レジスタ
PEN
SBL
MC1
MC0
SMDE
RFC
SCKE
SOE
USR0
レジスタ
RDRF
ORFE
PE
TDRE
RIE
TIE
RBF
TBF
URD0
レジスタ
BCH
RC3
RC2
RC1
RC0
BCH0
P
DB
制御信号
261
第 18 章 UART0
18.3
UART0 のレジスタ
UART0 には , 次の 4 つのレジスタがあります。
• シリアルモード制御レジスタ
• シリアルステータスレジスタ
• シリアルインプットデータ / シリアルアウトプットデータレジスタ
• レート・データレジスタ
■ UART0 のレジスタ
UART0 のレジスタのビット構成を図 18.3-1 に示します。
図 18.3-1 UART0 のレジスタ
シリアルモード制御レジスタ 0
7
6
5
4
3
2
1
0
アドレス : 000020H
PEN
SBL
MC1
MC0
SMDE
RFC
SCKE
SOE
リード / ライト→
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(W)
(1)
(R/W)
(0)
(R/W)
(0)
14
13
12
11
10
9
8
PE
TDRE
RIE
TIE
RBF
TBF
(R)
(0)
(R)
(1)
(R/W)
(0)
(R/W)
(0)
(R)
(0)
(R)
(0)
←ビット No.
UMC0
シリアルステータスレジスタ 0
15
アドレス : 000021H
リード / ライト→
初期値→
RDRF ORFE
(R)
(0)
(R)
(0)
←ビット No.
USR0
シリアルインプットデータレジスタ 0 / シリアルアウトプットデータレジスタ 0
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
15
14
13
12
11
10
9
8
アドレス : 000023H
BCH
RC3
RC2
RC1
RC0
BCH0
P
D8
リード / ライト→
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(X)
アドレス : 000022H
リード / ライト→
初期値→
←ビット No.
UIDR0( リード )
UODR0( ライト )
レート・データレジスタ 0
262
←ビット No.
URD0
第 18 章 UART0
18.3.1
シリアルモード制御レジスタ 0(UMC0)
シリアルモード制御レジスタ 0(UMC0) は , UART0 の動作モードを指定します。動
作が停止中に動作モードを設定します。ただし , RFC ビットは動作中もアクセス可
能です。
■ シリアルモード制御レジスタ 0 (UMC0)
シリアルモード制御レジスタ 0 (UMC0) のビット構成を図 18.3-2 に示します。
図 18.3-2 シリアルモード制御レジスタ 0(UMC0)
7
6
5
4
3
2
1
0
アドレス : 000020H
PEN
SBL
MC1
MC0
SMDE
RFC
SCKE
SOE
リード / ライト→
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(W)
(1)
(R/W)
(0)
(R/W)
(0)
←ビット No.
UMC0
【bit 7】PEN(Parity ENable)
シリアルデータ I/O でパリティビットの追加 ( 送信時 ) または検出 ( 受信時 ) を指定し
ます。モード 2 では "0" に設定します。
0: パリティなし
1: パリティあり
【bit 6】SBL(Stop Bit Length)
送信データのストップビット数を指定します。受信データについては , 最初のストップ
ビットだけが認識され , それ以降のストップビットは無視されます。
0:1 ビット長
1:2 ビット長
【bit 5, bit 4】MC1, MC0 (Mode Control)
転送データの長さを制御します。表 18.3-1 に , 本ビットで選択可能な 4 つの転送モー
ド ( データ長 ) を示します。
表 18.3-1 UART0 動作モード
モード
MC1
MC0
データ長 *1
0
0
0
7 (6)
1
0
1
8 (7)
1
0
8+1
1
1
9 (8)
2
*2
3
*1: 括弧内の数字は , パリティ付きのデータ長を示します。
*2: いくつものスレーブ CPU が単一ホスト CPU に接続している場合 , モード 2 が使用され
ます。受信パリティチェック機能は使用不可のため , UMC0 レジスタ中の PEN を "0" に
設定してください ( 詳細については ,「18.4 UART0 の動作」を参照 )。送信データ長は 9
ビットで , パリティビットは追加できません。
263
第 18 章 UART0
【bit 3】SMDE (Synchro MoDe Enable)
SMDE は , 転送方法を選択します。
0: 調歩式 CLK 同期転送 ( 調歩ビットによるクロック選択の同期転送 )
1: 調歩式 CLK 非同期転送
【bit 2】RFC (Receiver Flag Clear)
"0" を書き込むと , USR0 レジスタ中の RDRF, ORFE, PE フラグがクリアされます。"1"
書込みは無効であり , 読出し値は常に "1" になります。
<注意事項>
受信割込みが UART0操作中許可されている場合 , RDRF, ORFE, PE のどれかが"1" になっ
ていれば , RFC には "0" のみを書き込みます。
【bit 1】SCKE (SCLK Enable)
CLK 同期モードで本ビットに "1" を書き込むと , ポート端子が UART0 シリアルクロッ
ク出力端子に切り換わり , 同期クロックが出力されます。CLK 同期モードまたは外部
クロックモードで "0" を設定してください。
0: 汎用入出力ポートとして機能し , シリアルクロックを出力しません。ポートが入力
モード (DDR=0) に設定され , RC3 ∼ RC0 が "1111B" に設定されている場合 , 外部ク
ロック入力端子として機能します。
1:UART0 シリアルクロック出力端子として機能します。
【bit 0】SOE (Serial Output Enable)
"1" を書き込むと , ポート端子が UART0 シリアルデータ出力端子に切り換わり , シリ
アル出力が可能になります。
0: ポート端子として機能し , シリアルデータを出力しません。
1:UART0 シリアルデータ出力端子 (SOT) として機能します。
264
第 18 章 UART0
18.3.2
シリアルステータスレジスタ 0(USR0)
シリアルステータスレジスタ 0(USR0) は , UART0 ポートの現在の状態を示します。
■ シリアルステータスレジスタ 0(USR0)
シリアルステータスレジスタ 0 (USR0) のビット構成を図 18.3-3 に示します。
図 18.3-3 シリアルステータスレジスタ 0(USR0)
15
アドレス : 000021H
14
RDRF ORFE
(R)
(0)
リード / ライト→
初期値→
(R)
(0)
13
12
11
10
9
8
PE
TDRE
RIE
TIE
RBF
TBF
(R)
(0)
(R)
(1)
(R/W)
(0)
(R/W)
(0)
(R)
(0)
(R)
(0)
←ビット No.
USR0
【bit 15】RDRF(Receiver Data Register Full)
UIDR0( シリアルインプットデータレジスタ ) の状態を示すフラグです。UIDR0 レジス
タに受信データがロードされるとセットされ , UIDR0 レジスタを読み出すか , UMC0 レ
ジスタ中の RFC に "0" を書き込むと , クリアされます。
RIE がアクティブな場合 , RDRF
がセットされていれば受信割込み要求が生成されます。
0:UIDR0 中にデータなし
1:UIDR0 中にデータあり
【bit14】ORFE (Over-run/framing error)
受信中にオーバランまたはフレーミングエラーが発生した場合にセットされるフラグ
です。UMC0 レジスタ中の RFC に "0" を書き込むと , クリアされます。本フラグがセッ
トされると , UIDR0 中のデータは無効になり , 受信用シフタから UIDR0 へのロードが
実行されません。RIE がアクティブな場合 , ORFE がセットされていれば受信割込み要
求が生成されます。
0: エラーなし
1: エラーあり
表 18.3-2 に , RDRF または ORFE による受信完了後の UIDR0 の状態を示します。
表 18.3-2 受信完了後の UIDR0 の状態
RDRF
ORFE
0
0
空
0
1
フレーミングエラー
1
0
有効データ
1
1
オーバランエラー
UIDR0 データの状態
オーバランまたはフレーミングエラーが発生した場合 , UIDR0 中のデータは無効です。
次のデータはフラグクリア後に受信できます。
265
第 18 章 UART0
【bit 13】PE(Parity Error)
受信パリティエラーが発生した場合にセットされるフラグです。UMC0 レジスタ中の
RFC に "0" を書き込むと , クリアされます。本フラグがセットされると , UIDR0 中の
データは無効になり , 受信用シフタから UIDR0 へのロードが実行されません。RIE が
アクティブな場合 , PE がセットされていれば受信割込み要求が生成されます。
0: パリティエラーなし
1: パリティエラー発生
【bit 12】TDRE(Transmitter Data Register Empty)
UODR0( アウトプットデータレジスタ 0) の状態を示すフラグです。UODR0 レジスタ
に送信データを書き込むと , クリアされます。データが送信用シフタにロードされ , 転
送が開始されるとセットされます。TIE がアクティブな場合 , TDRE がセットされてい
れば受信割込み要求が生成されます。
0:UODR0 中にデータあり
1:UODR0 中にデータなし
【bit 11】RIE (Receiver Interrupt Enable)
受信割込み要求を許可します。
0: 割込みを禁止します。
1: 割込みを許可します。
【bit 10】TIE (Transmitter Interrupt Enable)
送信割込み要求を許可します。TDRE が "1" のとき送信割込みが許可されると , 送信割
込みが直ちに生成されます。
0: 割込みを禁止します。
1: 割込みを許可します。
【bit 9】RBF (Receiver Busy Flag)
UART0 がインプットデータを受信中であることを示すフラグです。スタートビットが
検出されるとセットされ , ストップビットが検出されるとクリアされます。
0: 受信側がアイドル状態
1: 受信側がビジー状態
【bit 8】TBF (Transmitter Busy Flag)
UART0 がインプットデータを送信中であることを示すフラグです。送信データが
UODR0 レジスタに書き込まれるとセットされ , 送信が完了するとクリアされます。
0: 送信側がアイドル状態
1: 送信側がビジー状態
266
第 18 章 UART0
18.3.3
シリアルインプットデータレジスタ 0(UIDR0) と
シリアルアウトプットデータレジスタ 0(UODR0)
シリアルインプットデータレジスタ 0 (UIDR0) は , シリアルデータの入力 ( 受信 ) 用
レジスタであり , シリアルアウトプットデータレジスタ 0 (UODR0) は , シリアル
データの出力 ( 送信 ) 用レジスタです。
■ シリアルインプットデータレジスタ0 (UIDR0)とシリアルアウトプットデータレジ
スタ 0 (UODR0)
シリアルインプットデータレジスタ 0 (UIDR0) とシリアルアウトプットデータレジス
タ 0 (UODR0) のビット構成を図 18.3-4 に示します。
図 18.3-4 シリアルインプットデータレジスタ 0 (UIDR0) と
シリアルアウトプットデータレジスタ 0 (UODR0)
アドレス : 000022H
リード / ライト→
初期値→
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
←ビット No.
UIDR0( リード )
UODR0( ライト )
データ長が 6 ビットの場合最大有効ビットの D7 と D6 が無視され , データ長が 7 ビッ
トの場合最大有効ビットの D7 が無視されます。USR0 レジスタ中の TDRE="1" のとき
のみ UODR0 に書き込み , USR0 レジスタ中の RDRF="1" のときのみ UIDR0 を読み出し
ます。
267
第 18 章 UART0
レート・データレジスタ 0(URD0)
18.3.4
レート・データレジスタ 0(URD0) は , UART0 用のデータ転送速度 ( ボーレート ) を
選択するレジスタです。送信データ長が 9 ビットのとき , データの最大有効ビット
(bit8) を保持します。UART0 が停止中にボーレートとパリティを設定してください。
■ レート・データレジスタ 0 (URD0)
レート・データレジスタ 0 (URD0) のビット構成を図 18.3-5 に示します。
図 18.3-5 レート・データレジスタ 0 (URD0)
15
14
13
12
11
10
9
8
アドレス : 000023H
BCH
RC3
RC2
RC1
RC0
BCH0
P
D8
リード / ライト→
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(X)
←ビット No.
URD0
【bit 15, bit 10】BCH, BCH0 (Baud rate clock change)
ボーレートクロック用のマシンサイクルを指定します ( 詳細については「18.4
,
UART0
の動作」を参照 )。
表 18.3-3 マシンサイクルの設定例
BCH
BCH0
分周比
各マシンサイクルの設定例
0
0
-
設定禁止
0
1
4 分周
16 MHz マシンサイクル 16/4 = 4 MHz
1
0
3 分周
12 MHz マシンサイクル 12/3 = 4 MHz
1
1
5 分周
10 MHz マシンサイクル 10/5 = 2 MHz
<注意事項>
BCH と BCH0 を "00B" に設定しないでください。
268
第 18 章 UART0
【bit 14 ∼ bit 11】RC3, RC2, RC1, RC0 (Rate control)
UART0 ポート用のクロック入力を選択します ( 詳細については「18.4 UART0 の動作」
を参照 )。
表 18.3-4 クロック入力選択
RC3 ∼ RC0
クロック入力
0000B ∼ 1011B
専用ボーレートジェネレータ
1101B
16 ビットリロードタイマ 0
1111B
外部クロック
<注意事項>
レート制御ビットを "1100B", "1110B" に設定しないでください。
【bit 9】P(Parity)
パリティがアクティブのとき , 偶数 / 奇数パリティを設定します (PEN = "1")。
0: 偶数パリティ
1: 奇数パリティ
【bit 8】D8
bit2 または 3 (9 ビットデータ長 ) およびパリティなしでの転送データの bit8 を保持し
ます。読出し時には UIDR0 レジスタの bit8 として , 書込み時には UODR0 レジスタの
bit8 として扱われます。そのほかのモードでは意味を持ちません。USR0 レジスタ中で
TDRE = 1 のときのみ D8 に書き込みます。
269
第 18 章 UART0
18.4
UART0 の動作
表 18.4-1 に , UART0 の動作モードを示します。モードを切り換えるには , UMC0 レ
ジスタに値を設定します。
■ UART0 の動作モード
表 18.4-1 UART0 の動作モード
モード
0
1
2
3
パリティ
データ長
ON
6
OFF
7
ON
7
OFF
8
OFF
8+1
ON
8
OFF
9
クロックモード
CLK 非同期または
CLK 同期
ストップビット長 *
1 ビットまたは 2 ビット
*: ストップビット長については , 送信動作のみ指定が可能です。受信動作については常に 1
ビット長となります。UART0 は上記モード以外では動作しませんので , 設定しないでくだ
さい。
<注意事項>
UART0 は , 調歩クロック同期転送を使用するので , クロック同期転送でもスタートビット
とストップビットをデータに追加します。
270
第 18 章 UART0
18.5
ボーレート
専用ボーレートジェネレータ使用時には , 次の 2 種類があります。
• CLK 同期ボーレート
• CLK 非同期ボーレート
■ CLK 同期ボーレート
BCH, BCH0, RC3, RC2, RC1 の 5 つの URD0 レジスタビットが CLK 同期転送用のボー
レートを選択します。
最初に , BCH, BCH0 を使用してマシンクロック分周比を選択します。
BCH
BCH0
0
1
→
4 で割る [ 例 , 16 MHz 時 16/4 = 4 MHz]
1
0
→
3 で割る [ 例 , 12 MHz 時 12/3 = 4 MHz]
1
1
→
5 で割る [ 例 , 10 MHz 時 10/5 = 2 MHz]
次に , 上記で選択したクロックの分周比を RC3, RC2, RC1 に設定します。CLK 同期転
送には , 以下の 3 つの設定が可能です。それ以外の設定は禁止されます。
RC3
RC2
RC1
0
1
0
→ 2 で割る [ 例 , 4 MHz 時 4/2 = 2.0 M bps]
0
1
1
→ 4 で割る [ 例 , 4 MHz 時 4/4 = 1.0 M bps]
1
0
0
→ 8 で割る [ 例 , 4 MHz 時 4/8 = 0.5 M bps]
(2 MHz では , 上記の例の半分の速度になります。)
■ CLK 非同期ボーレート
BCH, BCH0, RC3, RC2, RC1, RC0 の 6 つの URD レジスタが CLK 非同期転送用のボー
レートを選択します。
最初に , BCH, BCH0 を使用してマシンクロック分周比を選択します。
BCH
BCH0
0
1
→
4 で割る [ 例 , 16 MHz 時 16/4 = 4 MHz]
1
0
→
3 で割る [ 例 , 12 MHz 時 12/3 = 4 MHz]
1
1
→
5 で割る [ 例 , 10 MHz 時 10/5 = 2 MHz]
次に , 上記で選択したクロックの非同期転送クロック分周比を RC3, RC2, RC1, RC0 に
設定します。CLK 同期転送には , 以下の設定が可能です。
271
第 18 章 UART0
RC3
RC2
RC1
RC0
0
0
0
→ 8 × 1 で割る
0
1
0
→ 8 × 2 で割る
0
1
1
→ 8 × 4 で割る
1
0
0
→ 8 × 8 で割る
0
0
1
→ 割らない
1
0
1
→ 8 で割る
×
×
0
→ 12 で割る
1
→ 13 で割る
0
→ 設定禁止
1
→ 8 で割る
上記の 12 個のボーレートが選択可能であり , CLK 同期ボーレートの計算方法の公式を
以下に示します。
ボーレート=
ボーレート=
ボーレート=
φ/4
2m-1
φ/3
2m-1
φ/5
2m-1
bps ( マシンサイクル= 16 MHz)
bps ( マシンサイクル= 12 MHz)
bps ( マシンサイクル= 10 MHz)
ここで ,φ はマシンサイクルであり , m は RC3 ∼ RC1 の 10 進数表記です。
<注意事項>
m = 0 または m = 1 の場合 , 上記公式は計算不可です。
CLK 非同期ボーレートが -1 % ∼ +1 % の範囲にある場合 , データ転送が可能です。ボー
レートは , CLK 非同期ボーレートを 8 × 13, 8 × 12, 8 で割った値です。
表 18.5-1 に , マシンサイクルが 16MHz, 12MHz, 10MHz 時の例を示します。表中の "_" で
マークした設定は使用しないでください。
272
第 18 章 UART0
表 18.5-1 ボーレート
CLK 非同期 (µs/bps)
16 MHz
12 MHz
CLK 同期 (µs/bps)
RC
RC
RC
RC
10 MHz
3
2
1
0
0
0
0
0
0
0
0
1
0
0
1
0
-
-
-
8
-
-
-
0
0
1
1
2/500000
2/500000
4/250000
8
-
-
-
CLK 非同期分周比
BCH/
BCH/
BCH/
BCH0=01B BCH0=10B BCH0=11B
-
-
16 MHz
12 MHz
10 MHz
BCH/
BCH0=01B
BCH/
BCH/
BCH0=10B BCH0=11B
48/ 20833
8 × 12
-
-
-
26/ 38460 26/ 38460 52/ 19230
8 × 13
-
-
-
0
1
0
0
48/ 20833 48/ 20833 96/ 10417
8 × 12
-
-
-
0
1
0
1
52/ 19230 52/ 19230 104/ 9615
8 × 13
0.5 / 2M
0.5 / 2M
1 / 1M
0
1
1
0
96/ 10417 96/ 10417 192/ 5208
8 × 12
-
-
-
0
1
1
1
104/ 9615 104/ 9615 208/ 4808
8 × 13
1 / 1M
1 / 1M
2 / 500K
1
0
0
0
192/ 5208 192/ 5208
8 × 12
-
-
-
208/ 4808 208/ 4808 416/ 2404
8 × 13
2 / 500K
2 / 500K
4 / 250K
8
-
-
-
8
-
-
-
1
0
0
1
1
0
1
0
1
0
1
1
-
-
-
16/ 62500 16/ 62500 32/ 31250
273
第 18 章 UART0
18.6
内部クロックおよび外部クロック
RC3 ∼ RC0 を "1101B" に設定すると , 16 ビットリロードタイマからのクロック信
号を選択します。RC3 ∼ RC0 を "1111B" に設定すると , 外部クロックを選択しま
す。
■ 内部クロックおよび外部クロック
CLK 非同期ボーレートは , CLK 同期ボーレートを 8 で割ったものです。また , CLK 非
同期ボーレートが選択したボーレート -1 % ∼ +1 % の範囲にある場合 , データ転送が
可能です。表 18.6-1 に , 内部タイマをクロックとして選択した場合のボーレートを示
します。本表の値は , マシンサイクルを 7.3728 MHz として計算しています。ただし ,
表中の "_" でマークした設定は使用しないでください。
φ/X
ボーレート=
8 × 2(n+1)
bps
φ : マシンサイクル
X : 内部タイマのカウントクロックソースを割る比率
n : リロード値 (10 進数 )
表 18.6-1 ボーレートとリロード値
リロード値
X=21
( マシンクロックの 2 分周 )
X=23
( マシンクロックの 8 分周 )
76800
2
―
38400
5
19200
11
―
2
ボーレート
9600
23
5
4800
47
11
2400
95
23
1200
191
47
600
383
95
300
767
191
表中の値は , 16 ビットリロードタイマのリロードカウント動作のリロード値 (10 進数 ) です。
274
第 18 章 UART0
18.7
転送データフォーマット
UART0 は , NRZ(non-return-to-zero) 形式のデータのみを扱います。図 18.7-1 に ,
送受信クロックと CLK 同期モードのデータとの関係を示します。
■ 転送データフォーマット
図 18.7-1 転送データフォーマット
SCK0
SIN0,SOT0
0
1
Start LSB
0
1
1
0
0
1
0
1
1
モードに
MSB Stop
D8 Stop 依存
転送されたデータは,"01001101B"(モード1)または,"101001101B"(モード3)
図 18.7-1 に示すように , 転送データは必ずスタートビット ("L" レベルデータ ) より始
まり , LSB ファーストで指定されたデータビット長転送が行われ , ストップビット ("H"
レベルデータ ) で終了します。外部クロックを選択している場合は , 常にクロックを入
力してください。
内部クロック ( 専用ボーレートジェネレータまたは 16 ビットリロードタイマ ) を選択
している場合 , クロックは連続的に出力されます。CLK 同期転送を使用する場合 , 選択
したボーレートクロックが安定 (2 ボーレートクロックサイクル ) するまでデータ転送
を開始しないでください。
CLK 非同期転送を使用する場合 , UMC0 レジスタ中の SCKE ビットを "0" に設定し , ク
ロック出力を無効にしてください。SIN0 と SOT0 の転送データフォーマットは , 図 18.71 に示すものと同じです。
275
第 18 章 UART0
18.8
パリティビット
URD0 レジスタ中の P( パリティ ) ビットは , パリティが許可されている場合に偶数 /
奇数パリティのどちらを使用するかを指定します。UMC0 レジスタ中の PEN( パリ
ティイネーブル ) ビットはパリティを許可します。
■ パリティビット
偶数パリティ設定時に図 18.8-1 に示すデータを SIN0 に入力すると , 受信パリティエ
ラーが発生します。図 18.8-1 には , "001101B" を偶数 / 奇数パリティで送信時に送信さ
れるデータも示しています。
図 18.8-1 パリティを許可したシリアルデータ
(受信パリティエラー発生P=0)
SIN0
0
1
0
Start LSB
1
1
0
0
0
1
MSB ↑ Stop
(パリティ)
(偶数パリティ送信P=0)
SOT0
0
1
0
Start LSB
1
1
0
0
1
1
MSB ↑ Stop
(パリティ)
0
1
0
Start LSB
1
1
0
0
0
1
MSB ↑ Stop
(パリティ)
(奇数パリティ送信P=1)
SOT0
276
第 18 章 UART0
18.9
割込み生成とフラグのセットタイミング
UART0 には , 2 つの割込み要因と 6 個のフラグがあります。2 つの割込み要因には , 受信
割込みと送信割込みがあります。6 個のフラグとは , RDRF, ORFE, PE, TDRE, RBF, TBF で
す。受信については , RDRF, ORFE, PE フラグが割込みを要求します。送信については ,
TDRE フラグが割込みを要求します。
■ 6 つのフラグのセットタイミング
● RDRF フラグ
RDRF は UIDR0 レジスタに受信データがロードされるとセットされます。UMC0 レジ
スタ中の RFC に "0" を書き込むか , UIDR0 レジスタを読み出すと , クリアされます。
● ORFE フラグ
ORFE フラグは , オーバランまたはフレーミングエラーフラグです。受信エラーが発生
した場合にセットされ , UMC0 レジスタ中の RFC に "0" を書き込むと , クリアされます。
● PE フラグ
PE フラグは , 受信パリティエラーフラグです。受信パリティエラーが発生した場合に
セットされ , UMC0 レジスタ中の RFC に "0" を書き込むと , クリアされます。パリティ
検出機能はモード 2 では無効なので注意してください。
● TDRE フラグ
TDRE フラグは , UODR0 レジスタが空になり書込み可能になったときにセットされ ,
UODR0 レジスタに書込みを行うと , クリアされます。上記の 4 個のフラグ (RDRF,
ORFE, PE, TDRE) は , 送受信割込みを起動します。
● RBF と TBF フラグ
RBF と TBF フラグは , 受信または送信が進行中であることを示します。RBF は受信中
にアクティブになります。TBF は送信中にアクティブになります。
277
第 18 章 UART0
18.9.1
受信動作時 ( モード 0, モード 1, モード 3) のフラグの
セットタイミング
RDRF, ORFE, PE フラグは , 受信転送が終了し最後のストップビットを検出すると
きにセットされ , CPU への割込み要求が発生します。ORFE, PE のどちらかのビッ
トがアクティブ時には , UIDR0 中のデータは無効となります。
■ 受信動作時 ( モード 0, モード 1, モード 3) のフラグのセットタイミング
図 18.9-1 , 図 18.9-2 , 図 18.9-3 に , RDRF, ORFE, PE フラグのセットタイミングを示しま
す。
図 18.9-1 RDRF のセットタイミング ( モード 0, 1, 3)
(Stop)
Stop
データ
RDRF
受信割込み
図 18.9-2 ORFE のセットタイミング ( モード 0, 1, 3)
Stop
データ
RDRF = 1
RDRF = 0
ORFE
ORFE
受信割込み
Stop
データ
受信割込み
(フレーミングエラー)
(オーバランエラー)
図 18.9-3 PE のセットタイミング ( モード 0, 1, 3)
データ
PE
受信割込み
278
Stop
(Stop)
第 18 章 UART0
受信動作時 ( モード 2) のフラグのセットタイミング
18.9.2
RDRF フラグは , 最後のストップビットを検出し , 最後のデータビット (D8) の値が
"1" で受信転送が終了するときにセットされます。
ORFE フラグは , 最後のデータビット (D8) の値に無関係に , 最後のストップビット
を検出するときにセットされます。ORFE ビットがアクティブ時には , UIDR0 中の
データは無効となります。
どれかのフラグがセットされると , CPU への割込み要求が発生します ( モード 2 の
使用法の詳細については ,「18.10 UART0 の応用例」を参照 )。
■ 受信動作時 ( モード 2) のフラグのセットタイミング
図 18.9-4 RDRF のセットタイミング ( モード 2)
データ
D6
D7
Stop
D8
(Stop)
RDRF
受信割込み
図 18.9-5 ORFE のセットタイミング ( モード 2)
データ
D7
D8
Stop
データ D7
RDRF = 1
RDRF=0
ORFE
ORFE
受信割込み
D8
Stop
受信割込み
(オーバランエラー)
(フレーミングエラー)
279
第 18 章 UART0
送信動作時のフラグのセットタイミング
18.9.3
送信動作時に UODR0 レジスタに書き込まれたデータは , 内部シフトレジスタに転送
されます。このとき , TDRE フラグがセットされ , CPU への割込み要求が発生して ,
次のデータを UODR0 フラグに書込みができるようになります。
■ 送信動作時のフラグのセットタイミング
図 18.9-6 TDRE のセットタイミング ( モード 0)
UODR0書込み
TDRE
CPUへ割込みを要求する。
送信割込み
SOT0出力
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP
SP
ST
D0
D1
D2
D3
ST:スタートビット
D0~D7:データビット
SP:ストップビット
280
第 18 章 UART0
送受信動作時のステータスフラグ
18.9.4
送受信動作時に , RBF フラグは , スタートビットが検出されるとセットされ , ストッ
プビットが検出されるとクリアされます。UIDR0 中の受信データは , RBF クリアタ
イミングではまだ無効状態です。UIDR0 中のデータは , RDRF セットタイミングで
有効になります。
■ 送受信動作時のステータスフラグ
図 18.9-7 に , RBF と受信割込みフラグのタイミングとの関係を示します。
図 18.9-7 RBF のセットタイミング ( モード 0)
SIN0入力
ST D0
D1
D2
D3 D4
D5 D6
D7
SP
RBF
RDRF,PE,ORFE
UODR0 に送信データを書き込むと , TBF がセットされ , 送信が完了するとクリアされ
ます。
図 18.9-8 TBF のセットタイミング ( モード 0)
UODR0ライト
SOT0出力
ST
D0
D1
D2 D3
D4 D5
D6
D7 SP
SP
TBF
<注意事項>
SIN0 入力端子が "1" に固定されていない限り , 受信動作はリセットのリリース後に開始し
ます。このため , モードを設定する前に , UMC0 レジスタ中の RFC に "0" を書き込み , セッ
トされているすべての受信フラグをクリアしてください。
USR0 レジスタ中の RBF と TBF フラグが "0" のとき , 通信モードをセットしてください。
モード設定中の送受信データは保証されません。
■ EI2OS( 拡張インテリジェント I/O サービス )
拡張インテリジェント I/O サービス (EI2OS) の詳細については「3.6
,
拡張インテリジェ
ント I/O サービス (EI2OS)」を参照してください。
281
第 18 章 UART0
18.10
UART0 の応用例
モード 2 は , 1 台のホスト CPU に数台のスレーブ CPU が接続されるような場合に
使用されます ( 図 18.10-1 を参照 )。
■ UART0 の応用例
図 18.10-1 に示すように , 通信はホスト CPU がアドレスデータを転送することによっ
て始まります。アドレスデータは , 9 番目のビット (D8) が "1" にセットされています。
これにより通信先となるスレーブ CPU が選択され , ユーザが決定したプロトコルを使
用してホスト CPU との通信を行います。通常データは D8 が "0" にセットされていま
す。非選択のスレーブ CPU は , 次の通信セッションが始まるまでスタンバイ状態で待
機します。
図 18.10-2 に , 本モードでの動作フローチャートを示します。
このモードにおいては , パリティチェック機能は使用できませんので , UMC0 レジスタ
の PEN ビットは "0" としてください。
図 18.10-1 モード 2 使用時のシステム構築例
SOT0
SIN0
ホストCPU
282
SOT0 SIN0
SOT0 SIN0
スレーブCPU #0
スレーブCPU #1
第 18 章 UART0
図 18.10-2 モード 2 使用時の通信フローチャート
(ホストCPU)
(スレーブCPU)
START
START
転送モードを"3"とする
転送モードを"2"にセット
D0~D7にスレーブCPU選択,
D8に"1"をセットし,1バイト
転送
1バイト受信
選択?
D8に"0"をセットし,通信
を実行
END
No
Yes
転送モードを"3"にセットし,
SOT0出力を許可
マスタCPUで通信を実行
ステータスフラグを使用し
て転送の完了を確認,転送
モードを"2"にセットして,
SOT0出力を禁止
283
第 18 章 UART0
284
第 19 章
UART1(SCI)
UART1(SCI) の機能と動作について示します。
19.1 UART1 の特長
19.2 UART1 のブロックダイヤグラム
19.3 UART1 のレジスタ一覧
19.4 UART1 の動作モードとクロック選択
19.5 UART1 のフラグと割込み発生要因
19.6 UART1 の割込みとフラグのセットタイミング
19.7 ネガティブクロック動作
19.8 UART1 の応用例と使用上の注意
285
第 19 章 UART1(SCI)
19.1
UART1 の特長
UART1 は , 非同期 ( 調歩同期 ) 通信または CLK 同期通信を行うためのシリアル I/O
ポートです。
■ UART1 の特長
UART には以下の特長があります。
• 全二重ダブルバッファ
• 非同期 ( 調歩同期 ), CLK 同期通信が可能
• マルチプロセッサモードのサポート
• 専用ボーレートジェネレータ内蔵
非同期 : 62500 / 38460 / 31250 / 19230 / 9615 /
4808 / 2404 / 1202 bps
CLK 同期 : 1M / 500K / 250K / 125K / 62.5K bps
内部マシンクロック 6, 8, 10, 12, 16 MHz 時
• 外部クロック入力と内部タイマによる自動ボーレート設定
• エラー検出機能 ( パリティ , フレーミング , オーバラン )
• 転送信号は NRZ 符号
• インテリジェント I/O サービスのサポート
286
第 19 章 UART1(SCI)
UART1 のブロックダイヤグラム
19.2
図 19.2-1 に , UART1 のブロックダイヤグラムを示します。
■ UART1 のブロックダイヤグラム
図 19.2-1 UART1 のブロックダイヤグラム
制御信号
受信割込み
(CPUへ)
専用ボーレート
ジェネレータ
16ビットリロード
タイマ0
SCK1
クロック
選択回路
送信割込み
(CPUへ)
送信クロック
受信クロック
外部クロック
SIN1
受信制御回路
送信制御回路
スタートビット
検出回路
送信スタート
回路
受信ビット
カウンタ
送信ビット
カウンタ
受信パリティ
カウンタ
送信パリティ
カウンタ
SOT1
受信状態判定回路
受信用シフタ
送信用シフタ
受信終了
送信開始
SIDR1
SODR1
EI2OS用
受信エラー発生信号
(CPUへ)
内部データバス
SMR1
レジスタ
MD1
MD0
CS2
CS1
CS0
SCKE
SOE
SCR1
レジスタ
PEN
P
SBL
CL
A/D
REC
RXE
TXE
SSR1
レジスタ
PE
ORE
FRE
RDRF
TDRE
RIE
TIE
制御信号
287
第 19 章 UART1(SCI)
UART1 のレジスタ一覧
19.3
図 19.3-2 に , UART1 のレジスタ一覧を示します。
■ UART1 のレジスタ一覧
図 19.3-1 UART1 のレジスタ構成
15
8
7
0
SCR1
SMR1
(R/W)
SSR1
SIDR1(R)/SODR1(W)
(R/W)
-
CDCR
(R/W)
8ビット
8ビット
UART1 のレジスタのビット構成を図 19.3-2 に示します。
図 19.3-2 UART1 のレジスタ一覧
シリアルモードレジスタ 1
7
6
5
4
3
2
1
0
アドレス : 000024H
MD1
MD0
CS2
CS1
CS0
予約
SCKE
SOE
リード / ライト→
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
15
14
13
12
11
10
9
8
アドレス : 000025H
PEN
P
SBL
CL
A/D
REC
RXE
TXE
リード / ライト→
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(W)
(1)
(R/W)
(0)
(R/W)
(0)
←ビット No.
SMR1
シリアル制御レジスタ 1
←ビット No.
SCR1
シリアルインプットデータレジスタ 1 / シリアルアウトプットデータレジスタ 1
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
15
14
13
12
11
10
9
8
アドレス : 000027H
PE
ORE
FRE
─
RIE
TIE
リード / ライト→
初期値→
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(0)
(R)
(1)
(-)
(-)
(R/W)
(0)
(R/W)
(0)
アドレス : 000026H
リード / ライト→
初期値→
←ビット No.
SIDR1( リード )
SODR1( ライト )
シリアルステータスレジスタ 1
RDRF TDRE
←ビット No.
SSR1
UART1 通信プリスケーラ制御レジスタ
アドレス : 000028H
リード / ライト→
初期値→
288
15
14
13
12
11
10
9
8
MD
─
─
─
DIV3
DIV2
DIV1
DIV0
(R/W)
(0)
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
←ビット No.
CDCR
第 19 章 UART1(SCI)
シリアルモードレジスタ 1(SMR1)
19.3.1
シリアルモードレジスタ 1(SMR1) は , UART1 の動作モードを指定します。動作
モードの設定は動作停止中に行い , 動作中にこのレジスタへの書込みは行わないでく
ださい。
■ シリアルモードレジスタ 1(SMR1)
シリアルモードレジスタ 1(SMR1) のビット構成を図 19.3-3 に示します。
図 19.3-3 シリアルモードレジスタ 1(SMR1)
7
6
5
4
3
2
1
0
アドレス : 000024H
MD1
MD0
CS2
CS1
CS0
予約
SCKE
SOE
リード / ライト→
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
←ビット No.
SMR1
【bit 7, bit 6】MD1, MD0 (MoDe select):
このビットでは , UART1 の動作モードを選択します。表 19.3-1 に , 動作モード選択設
定を示します。
表 19.3-1 動作モード選択設定
モード
MD1
MD0
動作モード
0
0
0
非同期 ( 調歩同期 ) ノーマルモード
1
0
1
非同期 ( 調歩同期 ) マルチプロセッサモード
2
1
0
CLK 同期モード
-
1
1
設定禁止
<注意事項>
モード 1 の CLK 非同期モード ( マルチプロセッサ ) とは , 1 台のホスト CPU に数台のス
レーブ CPU が接続される使用法です。本リソースでは , 受信データのデータ形式を判別
できません。したがって , マルチプロセッサモードのマスタのみをサポートします。
また , この設定ではパリティチェック機能は使用できませんので SCR1 レジスタの PEN
は "0" に設定してください。
289
第 19 章 UART1(SCI)
【bit 5 ∼ bit 3】CS2, CS1, CS0 (Clock Select):
このビットでは , ボーレートクロックソースを選択します。専用ボーレートジェネレー
タを選択した場合には , 同時にボーレートも決定されます。表 19.3-2 にクロック入力
選択設定を示します。
表 19.3-2 クロック入力選択設定
CS2 ∼ CS0
クロック入力
000B ∼ 100B
専用ボーレートジェネレータ
101B
予約
110B
内部タイマ *
111B
外部クロック
*: 内部タイマを選択した場合 , MB90540/545 シリーズでは 16 ビットリロードタイマ 0 出力
が選択されます。
【bit 2】予約ビット
必ず "0" を書き込んでください。
【bit 1】SCKE (SClK Enable):
CLK 同期モード ( モード 2) で通信を行う場合 , SCK1 端子をクロック入力端子として使
うか , クロック出力端子として使うかを指定します。
CLK 非同期モード時または外部クロックモード時では "0" に設定してください。
0: クロック入力端子として機能します。
1: クロック出力端子として機能します。
<注意事項>
クロック入力端子として使うには , 外部クロックソースが選択されている必要がありま
す。
【bit 0】SOE (Serial Output Enable):
汎用 I/O ポート端子と兼用されている外部端子 (SOT1) を , シリアル出力端子として使
うか , I/O ポート端子として使うかを指定します。
0: 汎用 I/O ポート端子として機能します。
1: シリアルデータ出力端子 (SOT1) として機能します。
290
第 19 章 UART1(SCI)
シリアル制御レジスタ 1 (SCR1)
19.3.2
シリアル制御レジスタ 1 (SCR1) は , シリアル通信を行う場合の転送プロトコルを制
御します。
■ シリアル制御レジスタ 1 (SCR1)
シリアル制御レジスタ 1(SCR1) のビット構成を図 19.3-4 に示します。
図 19.3-4 シリアル制御レジスタ 1 (SCR1)
15
14
13
12
11
10
9
8
アドレス : 000025H
PEN
P
SBL
CL
A/D
REC
RXE
TXE
リード / ライト→
初期値→
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(W)
(1)
(R/W)
(0)
(R/W)
(0)
←ビット No.
SCR1
【bit 15】PEN (Parity ENable)
シリアル通信において , パリティを付加してデータ通信を行うかどうかを指定します。
0: パリティなし
1: パリティあり
<注意事項>
パリティを付加できるのは , 非同期 ( 調歩同期 ) 通信モードのノーマルモード ( モード 0)
のみです。マルチプロセッサモード ( モード 1) および CLK 同期通信 ( モード 2) では , パ
リティを付加することはできません。
【bit 14】P (Parity)
パリティを付加してデータ通信を行うとき , 偶数 / 奇数パリティを指定します。
0: 偶数パリティ
1: 奇数パリティ
【bit 13】SBL (Stop Bit Length)
非同期 ( 調歩同期 ) 通信を行うときのフレームエンドマークである , ストップビットの
ビット長を指定します。
0:1 ストップビット
1:2 ストップビット
291
第 19 章 UART1(SCI)
【bit 12】CL (Character Length)
送受信する 1 フレームのデータ長を指定します。
0:7 ビットデータ
1:8 ビットデータ
<注意事項>
7 ビットデータを扱えるのは , 非同期 ( 調歩同期 ) 通信のうちのノーマルモード ( モード 0)
のみです。マルチプロセッサモード ( モード 1) および CLK 同期通信 ( モード 2) では , 8
ビットデータを使用してください。
【bit 11】A/D (Address/Data)
非同期 ( 調歩同期 ) 通信のマルチプロセッサモード ( モード 1) において , 送信するフ
レームのデータ形式を指定します。
0: データフレーム
1: アドレスフレーム
【bit 10】REC (Receiver Error Clear)
"0" 書込みで , SSR1 レジスタのエラーフラグ (PE, ORE, FRE) をクリアします。
"1" 書込みは無効であり , 読出し値は常に "1" になります。
【bit 9】RXE (Receiver Enable)
UART1 の受信動作を制御します。
0: 受信動作を禁止します。
1: 受信動作を許可します。
<注意事項>
受信中 ( 受信シフトレジスタにデータが入力されているとき ) に受信動作を禁止した場合
には , そのフレームの受信を完了し受信データバッファ SIDR1 レジスタに受信データを
格納したところで受信動作を停止します。
【bit 8】TXE (Transmitter Enable)
UART1 の送信動作を制御します。
0: 送信動作を禁止します。
1: 送信動作を許可します。
<注意事項>
送信中 ( 送信レジスタからデータが出力されているとき ) に送信動作を禁止した場合は ,
送信データバッファ SODR1 レジスタにデータがなくなった後に送信動作を停止します。
292
第 19 章 UART1(SCI)
シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1(SODR1)
19.3.3
シリアルインプットデータレジスタ 1(SIDR1)/ シリアルアウトプットデータレジス
タ 1(SODR1) レジスタは , 受信 / 送信用のデータバッファレジスタです。
■ シリアルインプットデータレジスタ1(SIDR1)/シリアルアウトプットデータレジス
タ 1 (SODR1)
シリアルインプットデータレジスタ 1(SIDR1) とシリアルアウトプットデータレジスタ
1 (SODR1) のビット構成を図 19.3-5 に示します。
図 19.3-5 シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1(SODR1)
アドレス : 000026H
リード / ライト→
初期値→
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
←ビット No.
SIDR1( リード )
SODR1( ライト )
シリアルインプットデータレジスタ 1(SIDR1) は , シリアルデータ受信用のデータバッ
ファレジスタです。シリアルアウトプットデータレジスタ 1(SODR1) は , シリアルデー
タ送信用のデータバッファレジスタです。データ長が 7 ビットの場合 , 上位 1 ビット
(D7) は無効データとなります。SODR1 レジスタへの書込みは , SSR1 レジスタの TDRE
が "1" のときに行ってください。
<注意事項>
このアドレスへの書込みは SODR1 レジスタへの書込みを , 読出しは SIDR1 レジスタの読
出しを意味します。
293
第 19 章 UART1(SCI)
19.3.4
シリアルステータスレジスタ 1(SSR1)
シリアルステータスレジスタ 1(SSR1) は , UART1 の動作状態を表すフラグで構成さ
れています。
■ シリアルステータスレジスタ 1(SSR1)
シリアルステータスレジスタ 1 (SSR1) のビット構成を図 19.3-6 に示します。
図 19.3-6 シリアルステータスレジスタ 1(SSR1)
15
14
13
アドレス : 000027H
PE
ORE
FRE
リード / ライト→
初期値→
(R)
(0)
(R)
(0)
(R)
(0)
12
11
RDRF TDRE
(R)
(0)
(R)
(1)
10
9
8
─
RIE
TIE
(-)
(-)
(R/W)
(0)
(R/W)
(0)
←ビット No.
SSR1
【bit 15】PE (Parity Error)
受信時にパリティエラーが発生したときにセットされる , 割込み要求フラグです。一度
セットされたフラグをクリアするには , SCR1 レジスタの REC ビット (bit 10) に "0" を
書き込みます。
本ビットがセットされた場合には , SIDR1 レジスタのデータは無効データとなります。
0: パリティエラーなし
1: パリティエラー発生
【bit 14】ORE (Over Run Error)
受信時にオーバランエラーが発生したときにセットされる , 割込み要求フラグです。一
度セットされたフラグをクリアするには , SCR1 レジスタの REC ビット (bit 10) に "0"
を書き込みます。
本ビットがセットされた場合には , SIDR1 レジスタのデータは無効データとなります。
0: オーバランエラーなし
1: オーバランエラー発生
【bit 13】FRE (Framing Error)
受信時にフレーミングエラーが発生したときにセットされる , 割込み要求フラグです。
一度セットされたフラグをクリアするには , SCR1 レジスタの REC ビット (bit 10) に "0"
を書き込みます。
本ビットがセットされた場合には , SIDR1 レジスタのデータは無効データとなります。
0: フレーミングエラーなし
1: フレーミングエラー発生
294
第 19 章 UART1(SCI)
【bit 12】RDRF (Receiver Data Register Full)
SIDR1 レジスタに受信データがあることを示す , 割込み要求フラグです。
SIDR1 レジスタに受信データがロードされるとセットされ , SIDR1 レジスタからデー
タが読み出されると自動的にクリアされます。
0: 受信データなし
1: 受信データあり
【bit 11】TDRE (Transmitter Data Register Empty)
SODR1 レジスタに送信データを書き込めることを示す , 割込み要求フラグです。
SODR1 レジスタに送信データを書き込むとクリアされます。書き込んだデータが送信
用シフタにロードされて転送が開始されると再びセットされ,次の送信データを書き込
めることを表します。
0: 送信データの書込み禁止
1: 送信データの書込み許可
【bit 9】RIE (Receiver Interrupt Enable)
受信割込みを制御します。
0: 割込みを禁止します。
1: 割込みを許可します。
<注意事項>
受信割込み要因は , PE, ORE, FRE によるエラー発生のほか , RDRF フラグによって示さ
れる正常受信があります。
【bit 8】TIE (Transmitter Interrupt Enable)
送信割込みを制御します。
0: 割込みを禁止します。
1: 割込みを許可します。
<注意事項>
送信割込み要因は , TDRE フラグによる送信要求も含みます。
295
第 19 章 UART1(SCI)
19.3.5
UART1 通信プリスケーラ制御レジスタ (CDCR)
UART1 通信プリスケーラ制御レジスタ (CDCR) は , マシンクロックの分周を制御す
るレジスタです。UART1 の動作クロックは , マシンクロックを分周することにより
得られます。この通信プリスケーラによって , 種々のマシンクロックに対して一定の
ボーレートが得られるように設計されています。
■ UART1 通信プリスケーラ制御レジスタ (CDCR)
UART1 通信プリスケーラ制御レジスタ (CDCR) のビット構成を図 19.3-7 に示します。
図 19.3-7 UART1 通信プリスケーラ制御レジスタ (CDCR)
アドレス : 000028H
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
MD
─
─
─
DIV3
DIV2
DIV1
DIV0
(R/W)
(0)
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
←ビット No.
CDCR
【bit 7】MD (Machine clock devide MoDe select)
通信プリスケーラの動作許可ビットです。
0: 通信プリスケーラは停止します。
1: 通信プリスケーラは動作します。
【bit 3 ∼ bit 0】DIV3 ∼ DIV0 (DIVide 3 ∼ 0)
表 19.3-3 に従い , マシンクロックの分周比を決定します。
表 19.3-3 マシンクロックの分周比
DIV3
DIV2
DIV1
DIV0
分周比 *
1
1
1
0
2 分周
1
1
0
1
3 分周
1
1
0
0
4 分周
1
0
1
1
5 分周
1
0
1
0
6 分周
1
0
0
1
7 分周
1
0
0
0
8 分周
*: 分周比を変えた場合はクロックの安定時間として 2 周期分の時間を置いてから通信を行っ
てください。
296
第 19 章 UART1(SCI)
UART1 の動作モードとクロック選択
19.4
UART1 は , 非同期モードと CLK 同期モードの 2 種類の動作モードを持ち , SMR1
レジスタ , SCR1 レジスタに値を設定することによりモードを切り換えることができ
ます。
■ UART1 の動作モード
表 19.4-1 に , UART1 の動作モードを示します。
表 19.4-1 UART1 の動作モード
モード
パリティ
データ長
有/無
7
有/無
8
1
無
8+1
2
無
8
0
ストップビット長 *
動作モード
非同期 ( 調歩同期 ) ノーマルモード
1 ビットまたは 2 ビット
非同期 ( 調歩同期 ) マルチプロセッサモード
CLK 同期モード
無
*: 非同期 ( 調歩同期 ) ノーマルモードでのストップビット長については , 送信動作のみ指定が可能です。受信
動作については常に 1 ビット長となります。上記モード以外では動作しませんので , 設定しないでください。
■ UART1 のクロック選択
● 専用ボーレートジェネレータ
専用ボーレートジェネレータを選択したときのボーレートを表 19.4-2 および表 19.4-3
に示します。また , 通信プリスケーラ設定値を表 19.4-4 に示します。
なお , 表中の φ はマシンクロックを示します。
表 19.4-2 ボーレート ( 非同期時 )
CS2
CS1
CS0
φ/div = 2 MHz
φ/div = 4 MHz
φ/div = 8 MHz
算出式
0
0
0
9615
19230
38460
(φ ÷ div)/(8 × 13 × 2)
0
0
1
4808
9615
19230
(φ ÷ div)/(8 × 13 × 22)
0
1
0
2404
4808
9615
(φ ÷ div)/(8 × 13 × 23)
0
1
1
1202
2404
4808
(φ ÷ div)/(8 × 13 × 24)
1
0
0
31250
62500
-
(φ ÷ div)/26
表 19.4-3 ボーレート (CLK 同期時 )
CS2
CS1
CS0
φ/div = 2 MHz
φ/div = 4 MHz
φ/div = 8 MHz
算出式
0
0
0
1 MHz
-
-
(φ ÷ div)/2
0
0
1
500 kHz
1 MHz
-
(φ ÷ div)/22
0
1
0
250 kHz
500 kHz
1 MHz
(φ ÷ div)/23
0
1
1
125 kHz
250 kHz
500 kHz
(φ ÷ div)/24
1
0
0
62.5 kHz
125 kHz
250 kHz
(φ ÷ div)/25
297
第 19 章 UART1(SCI)
表 19.4-4 通信プリスケーラ設定値
推奨マシンクロック φ
div
DIV3
DIV2
DIV1
DIV0
4 MHz
4
1
1
0
0
6 MHz
6
1
0
1
0
8 MHz
8
1
0
0
0
6 MHz
3
1
1
0
1
8 MHz
4
1
1
0
0
10 MHz
5
1
0
1
1
12 MHz
6
1
0
1
0
14 MHz
7
1
0
0
1
16 MHz
8
1
0
0
0
8 MHz
2
1
1
1
0
12 MHz
3
1
1
0
1
16 MHz
4
1
1
0
0
16 MHz
2
1
1
1
0
φ/div
1 MHz
2 MHz
4 MHz
8 MHz
● 内部タイマ
CS2 ∼ CS0 を "110B" に設定して内部タイマを選択した場合は , リロードタイマ 0 (16
ビット動作時 ) をリロードモードで動作させます。このときのボーレートの算出式は ,
次のとおりです。
非同期 ( 調歩同期 )
(φ ÷ N)/(16 × 2 × (n+1))
CLK 同期
(φ ÷ N)/(2 × (n+1))
N: タイマのカウントクロックソース
n: タイマのリロード値
マシンクロックを 7.3728 MHz としたときのボーレートとリロード値 (10 進数 ) の関係
を , 表 19.4-5 に示します。
表 19.4-5 ボーレートとリロード値
リロード値
N=21
( マシンクロックの 2 分周 )
N=23
( マシンクロックの 8 分周 )
38400
2
-
19200
5
-
ボーレート
9600
11
2
4800
23
5
2400
47
11
1200
95
23
600
191
47
300
383
95
ボーレートクロックソースとして内部タイマ (16 ビットタイマ 0) を選択した場合には ,
16 ビットタイマ 0 の出力信号 TOT0 は , 既に MB90540/545 コントローラに内部的に接続
されていることに注意してください。したがって , 16 ビットタイマ 0 の外部出力端子
TOT0 から UART1 の外部クロック入力端子 SCK1 へ外部で接続する必要はありません。
また , タイマ端子をほかに使用していなければ , I/O ポート端子として使用することが
できます。
298
第 19 章 UART1(SCI)
● 外部クロック
CS2 ∼ CS0 を "111B" に設定して外部クロックを選択した場合のボーレートは , 外部ク
ロックの周波数を f とすると次のようになります。
非同期 ( 調歩同期 )
f/16
CLK 同期
f
f の最大値は 2 MHz であることに , 注意してください。
299
第 19 章 UART1(SCI)
19.4.1
非同期 ( 調歩同期 ) モード
UART1 は , NRZ(Non Return to Zero) 形式のデータのみを扱います。
■ 非同期 ( 調歩同期 ) モードの転送データフォーマット
図 19.4-1 に , 転送データフォーマットを示します。
図 19.4-1 非同期 ( 調歩同期 ) モードの転送データフォーマット ( モード 0, 1)
SIN1,SOT1
0
1
0
Start LSB
1
1
0
0
1
0
1
1
MSB Stop
A/D Stop
(モード0)
(モード1)
転送されたデータは,"01001101B"
図 19.4-1 に示すように , 転送データは必ずスタートビット ("L" レベルデータ値 ) より
始まり , LSB ファーストで指定されたデータビット長転送が行われ , ストップビット
("H" レベルデータ値 ) で終了します。外部クロックを選択している場合は , 常にクロッ
クを入力してください。
ノーマルモード ( モード 0) ではデータ長を 7 ビットまたは 8 ビットに設定することが
できますが , マルチプロセッサモード ( モード 1) では 8 ビットでなければなりません。
また , マルチプロセッサモードではパリティを付加することはできません。そのかわり , A/D
ビットが必ず付加されます。
■ 非同期 ( 調歩同期 ) モードの受信動作
シリアル制御レジスタ 1 (SCR1) 内の RXE ビットが "1" ならば , 常に受信動作が行われ
ています。
スタートビットを検出すると , SCR1 レジスタで決められたデータフォーマットに従い ,
1 フレームデータの受信が行われます。1 フレームの受信が終わると , エラーが発生した
場合にはエラーフラグのセットが行われた後 , シリアルステータスレジスタ (SSR1) 内の
RDRF がセットされます。この場合 , 同じ SSR1 レジスタの RIE ビットが "1" にセットさ
れていれば CPU に対して受信割込みが発生します。SSR1 レジスタの各フラグを調べ ,
正常受信ならシリアルインプットデータレジスタ 1(SIDR1) を読み出して , エラーが発生
していれば , 必要なエラー処置を行うようにしてください。
RDRF フラグは , SIDR1 レジスタを読み出すとクリアされます。
300
第 19 章 UART1(SCI)
■ 非同期 ( 調歩同期 ) モードの送信動作
シリアルステータスレジスタ 1(SSR1) 内の TDRE フラグが "1" の場合 , シリアルアウト
プットデータレジスタ 1(SODR1) に送信データを書き込みます。ここで , シリアル制御
レジスタ 1(SCR1) 内の TXE ビットが "1" なら送信が行われます。
SODR1 レジスタにセットしたデータが送信用シフトレジスタにロードされて送信が開
始されると SSR1 レジスタ内の TDRE フラグが再びセットされ , 次の送信データをセッ
トできるようになります。この場合 , 同じ SSR1 レジスタ内の TIE ビットが "1" にセッ
トされていれば CPU に対して送信割込みが発生して , SODR1 レジスタに送信データを
セットするように要求します。
SSR1 レジスタ内の TDRE フラグは , SODR1 レジスタにデータをセットするとクリア
されます。
301
第 19 章 UART1(SCI)
19.4.2
CLK 同期モード
UART1 は , NRZ(Non Return to Zero) 形式のデータのみを扱います。
■ CLK 同期モードの転送データフォーマット
図 19.4-2 に , CLK 同期モードにおける送受信クロックとデータとの関係を示します。
図 19.4-2 CLK 同期モードの転送データフォーマット ( モード 2)
SODR1書込み
マーク
SCK1
RXE,TXE
SIN1,SOT1
1
0
LSB
1
1
0
0
1
0
MSB
(モード2)
転送されたデータは,"01001101B"
内部クロック ( 専用ボーレートジェネレータまたは内部タイマ ) を選択している場合は ,
データを送信するとデータ受信用同期クロックが自動的に生成されます。
外部クロックを選択している場合は , 送信側 UART の送信用データバッファSODR1 レ
ジスタにデータがあること (TDRE フラグが "0") を確かめた後 , 正確に 1 バイト分のク
ロックを供給する必要があります。また , 送信開始前と終了後は , 必ずマークレベルに
してください。
データは 8 ビットのみとなり , パリティを付加することはできません。また , スタート /
ストップビットがないのでオーバランエラー以外のエラー検出は行われません。
302
第 19 章 UART1(SCI)
■ CLK 同期モードを使用する場合の各制御レジスタの設定値
CLK 同期モードを使用する場合の各制御レジスタの設定値を示します。
● SMR1 レジスタ
MD1, MD0
: "10"
CS2, CS1, CS0 : クロック入力を指定
SCKE
: 専用ボーレートジェネレータまたは内部タイマの場合 "1"
外部クロックの場合 "0"
SOE
: 送信を行う場合 "1", 受信のみの場合 "0"
● SCR1 レジスタ
PEN
: "0"
P, SBL, A/D : これらのビットは意味を持ちません
CL
: "1"
REC
: "0" ( 初期化するため )
RXE, TXE : 少なくとも , どちらか一方を "1"
● SSR1 レジスタ
RIE : 割込みを使用する場合 "1", 割込みを使用しない場合 "0"
TIE :"0"
■ CLK 同期モードの通信開始
SODR1 レジスタへの書込みによって通信を開始します。受信のみの場合でも , 必ず仮
の送信データを SODR1 レジスタに書き込む必要があります。
■ CLK 同期モードの通信終了
SSR1 レジスタの RDRF フラグが "1" に変化したことにより確認できます。SSR1 レジ
スタの ORE ビットによって , 通信が正常に行われたかを判断してください。
303
第 19 章 UART1(SCI)
19.5
UART1 のフラグと割込み発生要因
UART1 は PE/ORE/FRE/RDRF/TDRE の 5 つのフラグを持ちます。また , 割込み要
因には受信用のものと送信用のものがあります。
■ UART1 のフラグ
UART は , PE/ORE/FRE/RDRF/TDRE の 5 つのフラグを持ちます。はじめの 3 つは , 送
信エラーが生じたときにセットされ , PE フラグはパリティエラー , ORE フラグはオー
バランエラー , FRE フラグはフレーミングエラーのことで , SCR1 レジスタの REC に
"0" を書き込むとクリアされます。RDRF は受信データが SIDR1 レジスタにロードされ
るとセットされ , SIDR1 レジスタを読み出すことでクリアされます。ただし , モード 1
ではパリティ検出機能 , モード 2 ではパリティ検出機能とフレーミングエラー検出機能
はありません。TDRE は , SODR1 レジスタが空になり , 書込み可能な状態になるとセッ
トされ , SODR1 レジスタへ書き込むとクリアされます。
■ UART1 の割込み発生要因
UART1 の割込み発生要因には , 受信用のものと送信用のものがあります。受信時は ,
PE/ORE/FRE/RDRF により割込みを要求します。送信時は , T DRE により割込みを要求
します。
各動作モード時の割込みとフラグのセットタイミングについては ,「19.6 UART1 の割
込みとフラグのセットタイミング 」を参照してください。
304
第 19 章 UART1(SCI)
19.6
UART1 の割込みとフラグのセットタイミング
各 UART1 動作モード時の割込みとフラグのセットタイミングを示します。
■ UART1 の割込みとフラグのセットタイミング
● モード 0 の受信動作時
PE, ORE, FRE, RDRF は受信転送が終了し , 最後のストップビットを検出するときにフ
ラグがセットされ , CPU への割込み要求が発生します。PE, ORE, FRE がアクティブ時
には , SIDR1 レジスタのデータは無効データとなります。
図 19.6-1 に , PE, ORE, FRE, RDRF のセットタイミング ( モード 0) を示します。
図 19.6-1 PE, ORE, FRE, RDRF のセットタイミング ( モード 0)
データ
D6
D7
Stop
PE,ORE,FRE
RDRF
受信割込み
● モード 1 の受信動作時
ORE, FRE, RDRF は受信転送が終了し , 最後のストップビットを検出するときにフラグ
がセットされ , CPU への割込み要求が発生します。また , 受信可能なデータ長は 8 ビッ
トのため , 最後の 9 ビット目のアドレス / データを示すデータは無効データとなりま
す。ORE, FRE がアクティブ時は , SIDR1 のデータは無効データとなります。
図 19.6-2 に , ORE, FRE, RDRF のセットタイミング ( モード 1) を示します。
図 19.6-2 ORE, FRE, RDRF のセットタイミング ( モード 1)
データ
D7
アドレス/
データ
Stop
ORE,FRE
RDRF
受信割込み
305
第 19 章 UART1(SCI)
● モード 2 の受信動作時
ORE, RDRF は受信転送が終了し , 最後のデータ (D7) を検出するときにフラグがセット
され , CPU への割込み要求が発生します。ORE がアクティブ時は , SIDR1 のデータは
無効データとなります。
図 19.6-3 に , OR, RDRF のセットタイミング ( モード 2) を示します。
図 19.6-3 ORE, RDRF のセットタイミング ( モード 2)
データ
D5
D6
D7
ORE
RDRF
受信割込み
● モード 0, モード 1, モード 2 の送信動作時
TDRE フラグは , SODR1 レジスタへ送信データが書き込まれるとクリアされます。ま
た , SODR1 レジスタ値が内部シフトレジスタに転送されると SODR1 レジスタが書込
み可能な状態になるため , TDRE フラグがセットされます。このフラグがセットされる
と CPU への割込み要求が発生します。送信動作中に SCR1 レジスタの TXE に "0"( モー
ド 2 のときは RXE も含む ) を書き込むと , SSR1 レジスタの TDRE が "1" となり , 送信
用のシフタが停止して UART1 の送信動作を禁止します。送信動作中に SCR1 レジスタ
の TXE に "0"( モード 2 のときは RXE も含む ) を書き込んだ後 , 送信が停止する前に
SODR1 レジスタへ書き込まれたデータは送信されます。図 19.6-4 に , TDRE のセット
タイミング ( モード 0, 1) を示します。また , 図 19.6-5 に , TDRE のセットタイミング
( モード 2) を示します。
図 19.6-4 TDRE のセットタイミング ( モード 0, 1)
SODR1書込み
TDRE
CPUへ割込みを要求する。
SOT1割込み
SOT1出力
ST
D0
D1
D2
D3
D4
D5
D6
D7
SP SP
A/D
ST
D0
D1
D2
D3
ST:スタートビット
D0~D7:データビット
SP:ストップビット
A/D:アドレス/データマルチプレクサ
306
第 19 章 UART1(SCI)
図 19.6-5 TDRE のセットタイミング ( モード 2)
SODR1書込み
TDRE
CPUへ割込みを要求する。
SOT1割込み
SOT1出力
D0 D1
D2
D3
D4
D5
D6
D7
D0
D1 D2
D3
D4
D5
D6
D7
D0~D7:データビット
307
第 19 章 UART1(SCI)
19.7
ネガティブクロック動作
MB90540/545 シリーズは , UART1 のネガティブクロック動作をサポートします。
この動作では , シフトクロック信号はインバータにより単純に反転されます。このた
め , UART1 で進行中のセクションにおけるシフトクロック信号の定義は , ロジック
"L" レベルからロジック "H" レベルへ , ネガティブエッジからポジティブエッジへ ,
あるいはこの逆に反転されます。このことは , シリアルクロックの入力および出力と
もに同じです。エッジセレクタレジスタは , この目的のために用意されています。
■ ネガティブクロック動作
シリアルエッジセレクトレジスタ (SES1) のビット構成を図 19.7-1 に示します。
図 19.7-1 シリアルエッジセレクトレジスタ (SES1)
7
6
5
4
3
2
1
0
アドレス : 000029H
─
─
─
─
─
─
─
NEG
リード / ライト→
初期値→
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
(0)
表 19.7-1 NEG ビットの設定
NEG
308
操作
0
通常動作 ( デフォルト )
1
シフトクロック信号反転
←ビット No.
SES1
第 19 章 UART1(SCI)
19.8
UART1 の応用例と使用上の注意
UART1 の応用例として , モード 1 使用時のシステム構築例と通信フローチャートを
示します。
■ UART1 の応用例 ( モード 1 使用時のシステム構築例 )
図 19.8-1 に示すように , モード 1 は , 1 台のホスト CPU に数台のスレーブ CPU が接続
されるような場合に使用されます。この UART1 リソースでは , ホスト側の通信インタ
フェースのみサポートします。
図 19.8-1 モード 1 使用時のシステム構築例
SO
SI
ホストCPU
SO
SI
スレーブCPU#0
SO
SI
スレーブCPU#1
■ UART1 の通信フローチャート
通信はホスト CPU がアドレスデータを転送することによって始まります。アドレス
データとは , SCR1 レジスタの A/D が "1" のときのデータで , それにより通信先となる
スレーブ CPU が選択され , ホスト CPU との通信が可能になります。通常データは ,
SCR1 レジスタの A/D が "0" のときのデータです。図 19.8-2 にそのフローチャートを示
します。
モード 2 においては , パリティチェック機能は使用できませんので SCR1 レジスタの
PEN ビットは "0" としてください。
309
第 19 章 UART1(SCI)
図 19.8-2 モード 1 使用時の通信フローチャート
(ホストCPU)
START
転送モードを"1"とする
D0~D7にスレーブCPUを
選択するデータ,
A/Dに"1"をセットし
1バイト転送
A/Dに"0"をセット
受信動作許可
スレーブCPUと通信
No
通信終了?
Yes
他の
スレーブCPU
と通信
No
Yes
受信動作禁止
END
■ 拡張インテリジェント I/O サービス (EI2OS)
拡張インテリジェント I/O サービス (EI2OS) の詳細については「3.6
,
拡張インテリジェ
ント I/O サービス (EI2OS)」を参照してください。
■ UART1 の使用上の注意
通信モードの設定は , UART1 の動作停止中に行ってください。モード設定時に送受信
したデータは保証されません。
310
第 20 章
シリアル I/O
シリアル I/O の機能と動作について示します。
20.1 シリアル I/O の概要
20.2 シリアル I/O のレジスタ
20.3 シリアル I/O の動作
20.4 ネガティブクロック動作
311
第 20 章 シリアル I/O
シリアル I/O の概要
20.1
シリアル I/O の動作モードには , 以下の 2 種類があります。
• 内部シフトクロックモード : 内部クロックに同期してデータ転送を行います。
• 外部シフトクロックモード : 外部端子 (SCK2) から入力されるクロックに同期して
データ転送を行います。このモードで外部端子
(SCK2) を共有している汎用ポートを操作することに
より , CPU の命令による転送動作も可能です。
■ シリアル I/O のブロックダイヤグラム
クロック同期によるデータ転送を可能にするシリアル I/O インタフェースのブロック
ダイヤグラムを示します。このインタフェースは 8 ビット× 1 チャネル構成で , データ
は LSB/MSB から転送できます。
図 20.1-1 シリアル I/O のブロックダイヤグラム
内部データバス
D7~D0(LSBファースト)
(MSBファースト)D0~D7
転送方向選択
SIN2
リード
ライト
SDR(シリアルシフトデータレジスタ)
SOT2
SCK2
シフトクロック
カウンタ
制御回路
内部クロック
(通信プリスケーラ)
2
SMD2
1
SMD1
0
SMD0
SIE
SIR
BUSY
STOP
STRT
MODE
割込み
要求
内部データバス
312
BDS
SOE
SCOE
第 20 章 シリアル I/O
20.2
シリアル I/O のレジスタ
シリアル I/O のレジスタには , 次の 3 つがあります。
• シリアルモード制御ステータスレジスタ
• シリアルシフトデータレジスタ
• シリアル I/O プリスケーラ
■ シリアル I/O のレジスタ
シリアル I/O のレジスタのビット構成を図 20.2-1 に示します。
図 20.2-1 シリアル I/O のレジスタ
シリアルモード制御ステータスレジスタ
15
アドレス : 00002DH
14
13
SMD2 SMD1 SMD0
12
11
10
9
8
SIE
SIR
BUSY
STOP
STRT
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R)
(0)
(R/W)
(1)
(R/W)
(0)
7
6
5
4
3
2
1
0
アドレス : 00002CH
−
−
−
−
MODE
BDS
SOE
SCOE
リード / ライト→
初期値→
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
15
14
13
12
11
10
9
8
MD
−
−
−
DIV3
DIV2
DIV1
DIV0
(R/W)
(0)
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
リード / ライト→
初期値→
←ビット No.
SMCS
←ビット No.
SMCS
シリアルシフトデータレジスタ
アドレス : 00002EH
リード / ライト→
初期値→
←ビット No.
SDR
シリアル I/O プリスケーラ
アドレス : 00002BH
リード / ライト→
初期値→
←ビット No.
SCDCR
313
第 20 章 シリアル I/O
20.2.1
シリアルモード制御ステータスレジスタ (SMCS)
シリアルモード制御ステータスレジスタ (SMCS) は , シリアル I/O 転送モードを制御
するレジスタです。
■ シリアルモード制御ステータスレジスタ (SMCS)
シリアルモード制御ステータスレジスタ (SMCS) のビット構成を図 20.2-2 に示します。
図 20.2-2 シリアルモード制御ステータスレジスタ (SMCS)
15
アドレス : 00002DH
14
13
SMD2 SMD1 SMD0
(R/W)
(0)
リード / ライト→
初期値→
(R/W)
(0)
(R/W)
(0)
12
11
10
9
8
SIE
SIR
BUSY
STOP
STRT
(R/W)
(0)
(R/W)
(0)
(R)
(0)
(R/W)
(1)
(R/W)
(0)
↑
*1
←ビット No.
SMCS
↑
*2
7
6
5
4
3
2
1
0
アドレス : 00002CH
−
−
−
−
MODE
BDS
SOE
SCOE
リード / ライト→
初期値→
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
(R/W)
(0)
←ビット No.
SMCS
*1 : 書込み動作は , "0" のみ可能
*2 : 書込み動作は , "1" のみ可能 , 読出し動作は常に "0"
【bit 3】(MODE) シリアルモード選択ビット
このビットにより停止状態からの起動条件の選択を行います。ただし , 動作中の書換え
は禁止します。
表 20.2-1 シリアルモード選択ビットの設定
MODE
動作
0
STRT=1 にすることにより起動します [ 初期値 ]。
1
シリアルシフトデータレジスタのリード / ライトにより起動します。
リセットにより "0" に初期化されます。本ビットは , リード / ライトが可能です。イン
テリジェント I/O サービスを起動する際には "1" にしておいてください。
314
第 20 章 シリアル I/O
【bit 2】BDS:Bit Direction Select ( 転送方向選択ビット )
シリアルデータの入出力時に , 最下位ビット側から先に転送するか (LSB ファースト ),
最上位ビット側から先に転送するか (MSB ファースト ) を , 表 20.2-2 に示すとおりに選
択します。
表 20.2-2 転送方向選択ビットの設定
BDS
動作
0
LSB ファースト [ 初期値 ]
1
MSB ファースト
<注意事項>
転送方向選択ビットは , SDR にデータを書き込む前に , 設定しておいてください。
【bit 1】SOE:Serial Out Enable ( シリアル出力許可ビット )
シリアル I/O 用出力外部端子 (SOT2) の出力を表 20.2-3 に示すとおりに制御します。
表 20.2-3 シリアル出力許可ビットの設定
SOE
動作
0
汎用ポート端子 [ 初期値 ]
1
シリアルデータ出力
リセットにより "0" に初期化されます。本ビットは , リード / ライトが可能です。
【bit 0】SCOE:SCK2 Output Enable ( シフトクロック出力許可ビット )
シフトクロック用入出力外部端子 (SCK2) の出力を表 20.2-4 に示すとおりに制御します。
表 20.2-4 シフトクロック出力許可ビットの設定
SCOE
動作
0
汎用ポート端子 , 命令ごと転送時 [ 初期値 ]
1
シフトクロック出力端子
外部シフトクロックモードで命令ごとに転送を行うときは "0" に設定してください。リ
セットにより "0" に初期化されます。本ビットは , リード / ライトが可能です。
315
第 20 章 シリアル I/O
【bit 15 ∼ bit 13】SMD2, SMD1, SMD0:Serial Shift clock MoDe
( シフトクロック選択ビット )
シリアルシフトクロックモードを表 20.2-5 に示すとおりに選択します。
表 20.2-5 シリアルシフトクロックモードの設定
SM
D2
SM
D1
SM
D0
φ/div =
4 MHz
φ/div =
2 MHz
φ/div =
1 MHz
div
M1
0
0
0
2 MHz
1 MHz
500 kHz
3
1
1
1
0
1
0
0
1
1 MHz
500 kHz
250 kHz
4
1
1
1
0
0
8 MHz
0
1
0
250 kHz
125 kHz
62.5 kHz
5
1
1
0
1
1
10 MHz
0
1
1
125 kHz
62.5 kHz
31.25 kHz
6
1
1
0
1
0
12 MHz
1
0
0
62.5 kHz
31.25 kHz 15.625 kHz
7
1
1
0
0
1
14 MHz
1
0
1
8
1
1
0
0
0
16 MHz
1
1
0
予約
1
1
1
予約
外部シフトクロックモード
DIV3 DIV2 DIV1 DIV0
推奨マシン
サイクル
6 MHz
各ビットの詳細については ,「20.2.3 シリアル I/O プ
リスケーラ (SCDCR)」を参照してください。
リセットにより "000B" に初期化されます。本ビットの転送中の書換えは禁止します。
シフトクロックは内部シフトクロック 5 種類と , 外部シフトクロックが選択できます。
SMD2, SMD1, SMD0 ="110B", "111B" はリザーブですので設定しないでください。
外部シフトクロックモードが選択されている場合には,シフトクロック入力を共有して
いる汎用 I/O のアウトプットレベルを変えることで , ビットシフト操作を行うこともで
きます。
【bit 12】SIE:Serial I/O Interrupt Enable ( シリアル I/O 割込み許可ビット )
シリアル I/O の割込み要求を表 20.2-6 に示すとおりに制御します。
表 20.2-6 割込み要求許可ビットの設定
SIE
動作
0
シリアル I/O 割込み禁止 [ 初期値 ]
1
シリアル I/O 割込み許可
リセットにより "0" に初期化されます。本ビットは , リード / ライトが可能です。
【bit 11】SIR:Serial I/O Interrupt Request ( シリアル I/O 割込み要求ビット )
シリアルデータの転送が終了すると "1" にセットされ , 割込み許可時 (SIE="1") にこの
ビットが "1" になると , CPU へ割込み要求を発生します。クリア条件は MODE ビット
によって異なります。MODE ビットが "0" のとき , SIR ビットへの "0" 書込みによりク
リアされます。MODE ビットが "1" のとき , SDR の読出しまたは書込み動作によりク
リアされます。MODE ビットの値にかかわらずリセットまたは STOP ビットへの "1"
書込み動作によりクリアされます。
本ビットに "1" を書き込んでも意味がありません。リードモディファイライト系命令
のリード時は , 常に "1" が読み出されます。
316
第 20 章 シリアル I/O
【bit 10】BUSY ( 転送状態ビット )
シリアル転送が実行中か否かを示すビットです。
表 20.2-7 転送状態ビットの設定
BUSY
動作
0
停止またはシリアルシフトデータレジスタ R/W 待機状態 [ 初期値 ]
1
シリアル転送状態
リセットにより "0" に初期化されます。本ビットは , リードのみ可能です。
【bit 9】STOP ( ストップビット )
シリアル転送を強制的に中断させるビットです。本ビットを "1" にすると STOP = 1 に
よる停止状態となります。
表 20.2-8 ストップビットの設定
STOP
動作
0
動作
1
STOP=1 による転送停止 [ 初期値 ]
リセットにより "1" に初期化されます。本ビットは , リード / ライトが可能です。
【bit 8】STRT:Start ( スタートビット )
シリアル転送の起動を行うビットです。停止状態で "1" を書くことによって転送が開
始されます。シリアル転送動作中およびシリアルシフトデータレジスタ R/W 待機中の
"1" の書込みは無視され , "0" の書込みは意味がありません。
リード時には常に "0" が読み出されます。
317
第 20 章 シリアル I/O
20.2.2
シリアルシフトデータレジスタ (SDR)
シリアルシフトデータレジスタ (SDR) は , シリアル I/O 転送データを格納するシリ
アルシフトデータレジスタで , 転送中は読み書き禁止です。
■ シリアルシフトデータレジスタ (SDR)
シリアルシフトデータレジスタ (SDR) のビット構成を図 20.2-3 に示します。
図 20.2-3 シリアルシフトデータレジスタ (SDR)
アドレス : 00002EH
リード / ライト→
初期値→
318
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
(R/W)
(X)
←ビット No.
SDR
第 20 章 シリアル I/O
シリアル I/O プリスケーラ (SCDCR)
20.2.3
シリアル I/O プリスケーラ (SCDCR) は , シリアル I/O のシフトクロックを提供しま
す。
シリアル I/O の動作クロックは , マシンクロックを分周することにより得られます。
シリアル I/O は , この通信プリスケーラによって種々のマシンクロックに対して一定
のボーレートが得られるように設計されています。SCDCR レジスタは , マシンク
ロックの分周を制御するレジスタです。
■ シリアル I/O プリスケーラ (SCDCR)
シリアル I/O プリスケーラ (SCDCR) のビット構成を図 20.2-4 に示します。
図 20.2-4 シリアル I/O プリスケーラ (SCDCR)
アドレス : 00002BH
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
MD
−
−
−
DIV3
DIV2
DIV1
DIV0
(R/W)
(0)
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
(R/W)
(1)
←ビット No.
SCDCR
【bit 15】MD (Machine clock devide moDe select)
通信プリスケーラの動作許可ビットです。
0: シリアル I/O プリスケーラは停止します。
1: シリアル I/O プリスケーラは動作します。
【bit 11 ∼ bit 8】DIV3 ∼ DIV0(DIVide 3 ∼ DIVide 0)
マシンクロックの分周比を決定するビットです。
表 20.2-9 マシンクロックの分周比
DIV3 ∼ DIV0
分周比
1101B
3
1100B
4
1011B
5
1010B
6
1001B
7
1000B
8
<注意事項>
分周比を変えた場合はクロックの安定時間として2周期分の時間を置いてから通信を行っ
てください。
319
第 20 章 シリアル I/O
20.3
シリアル I/O の動作
シリアル I/O は , シリアルモード制御ステータスレジスタ (SMCS), シリアルシフト
データレジスタ (SDR) により構成されます。8 ビットのシリアルデータの入出力に
使用します。
■ シリアル I/O の動作
シリアルデータの入出力は , シフトレジスタの内容がシリアルシフトクロック ( 外部ク
ロック , 内部クロック ) の立下りに同期してビット直列にシリアル出力端子 (SOT2 端
子 ) に出力され , 立上りに同期してシリアル入力端子 (SIN2 端子 ) からビット直列にシ
リアルシフトデータレジスタ (SDR) に入力されます。シフトの方向 (MSB からの転送
または LSB からの転送 ) は , シリアルモード制御ステータスレジスタ (SMCS) の方向指
定ビット (BDS) により指定することができます。
転送が終了するとシリアルモード制御ステータスレジスタ (SMCS) の MODE ビット
によって停止状態またはデータレジスタ R/W 待機状態に入ります。各々の状態から転
送状態に移るには , それぞれ次のことを行います。
• 停止状態からの復帰のときは STOP ビットに "0", STRT ビットに "1" を書き込みま
す (STOP と STRT は同時設定が可能です )。
• シリアルシフトデータレジスタR/W待機状態からの復帰時はデータレジスタの読出
しまたは書込みを行います。
320
第 20 章 シリアル I/O
シフトクロック
20.3.1
シフトクロックには内部シフトクロックモード , 外部シフトクロックモードの 2 種
類があり , SMCS の設定で指定します。モードの切換えは , シリアル I/O が停止した
状態で行ってください。停止状態の確認は , BUSY ビットを読み出すことで可能で
す。
■ 内部シフトクロックモード
内部シフトクロックモードは , 内部クロックにより動作し , 同期タイミング出力として
デューティ比 50 % のシフトクロックが SCK2 端子より出力可能です。データが 1 ク
ロックごとに1ビット転送されます。転送の速度(ボーレート)は以下のようになります。
ボーレート=
φ ÷ div
A
A は , SMCS の SMD ビットで示す分周比で , 21, 22, 24, 25, 26 です。
表 20.3-1 内部シフトクロックモードのボーレート算出式
SMD2
SMD1
SMD0
φ/div = 4 MHz
φ/div = 2 MHz
φ/div = 1 MHz
ボーレート算出式
0
0
0
2 MHz
1 MHz
500 kHz
(φ ÷ div)/21
0
0
1
1 MHz
500 kHz
250 kHz
(φ ÷ div)/22
0
1
0
250 kHz
125 kHz
62.5 kHz
(φ ÷ div)/24
0
1
1
125 kHz
62.5 kHz
31.25 kHz
(φ ÷ div)/25
1
0
0
62.5 kHz
31.2 kHz
15.625 kHz
(φ ÷ div)/26
Div の値は , 表 19.4-4 を参照してください。
■ 外部シフトクロックモード
SCK2 端子から入力される外部シフトクロックに同期して , データが 1 クロックごとに
1 ビット転送されます。転送速度は DC から 1/(8 マシンサイクル ) まで可能です。例え
ば , "1" マシンサイクル = 62.5 ns" のとき , 2 MHz まで可能です。
命令ごとに転送することもでき , 次のような設定をすることによって実現します。
外部シフトクロックモードを選択し , SMCS の SCOE ビットを "0" に設定します。さら
に , SCK2 端子を共有しているポートの方向レジスタに "1" を書き込み , ポートを出力
モードに設定します。以上の設定をした後 , ポートのデータレジスタ (PDR) に "1", "0"
を書き込むと , SCK2 端子に出力されるポートの値を外部クロックとして取り込み , 転
送動作を行います。シフトクロックの開始は "H" からスタートさせてください。
<注意事項>
シリアル I/O 動作中の SMCS, SDR への書込みは禁止です。
321
第 20 章 シリアル I/O
20.3.2
シリアル I/O の動作状態
シリアル I/O の動作状態には , 次の 4 種類があります。
• STOP 状態
• 停止状態
• SDR の R/W 待機状態
• 転送状態
■ シリアル I/O の動作状態
● STOP 状態
リセット時または SMCS の STOP ビットに "1" を書き込んだときの状態でシフトカウ
ンタは初期化され , SIR = 0 となります。
STOP 状態からの復帰は , STOP = 0, STRT = 1 ( 同時設定可 ) とすることによって行われ
ます。STOP ビットは STRT ビットより優先ビットですので , STOP = 1 のとき STRT =1
としても転送動作は行われません。
● 停止状態
MODE ビットが "0" のとき , 転送が終了したことによって SMCS が BUSY = 0, SIR = 1
となり , カウンタが初期化され停止状態に入ります。停止状態からの復帰は STRT = 1
にすると転送動作が再開されます。
● シリアルシフトデータレジスタ R/W 待機状態
SMCS の MODE ビットが "1" のとき , シリアル転送が終了すると , BUSY = 0, SIR = 1
となりシリアルシフトデータレジスタ R/W 待機状態に入ります。割込み許可レジスタ
が許可状態ならば本ブロックより割込み信号を出力します。
R/W 待機状態からの復帰はシリアルシフトデータレジスタが読み出されたり , 書き込
まれたりすると BUSY = 1 となり転送動作が再開されます。
● 転送状態
BUSY = 1 でシリアル転送を行っている状態です。MODE ビットによりそれぞれ停止状
態および R/W 待機状態に遷移します。
図 20.3-1 に , 動作遷移を示します。
322
第 20 章 シリアル I/O
図 20.3-1 シリアル I/O 動作遷移図
リセット
STOP=0 & STRT=0
転送終了
STRT=0,BUSY=0
MODE=0
STOP=0
&
STRT=1
MODE=0
&
STOP=0
&
終了
STOP
STOP=1
STRT=0,BUSY=0
STOP=0 & STRT=1
STOP=1
転送動作
MODE=1 & 終了 & STOP=0
STRT=1,BUSY=1
SDRのR/W & MODE=1
STOP=1
シリアルシフトデータレジスタ
R/W 待機
STRT=1,BUSY=0
MODE=1
図 20.3-2 シリアルシフトデータレジスタへのリード , ライト概念図
シリアルデータ
SOT2
SIN2
データバス
データバス
リード
ライト
割込み出力
I/O拡張
シリアルインタフェース
リード
ライト
②
①
割込み入力
データバス
CPU
割込みコントローラ
① MODE=1 のとき , シフトクロックカウンタによって転送終了し , SIR = 1 となって
リード / ライト待機状態に入ります。SIE ビットが "1" ならば割込み信号を発生し
ます。ただし , SIE がインアクティブのときや STOP へ "1" を書き込むことによる
転送中断のときは割込み信号は発生しません。
② シリアルシフトデータレジスタが読出し / 書込みされると , 割込み要求はクリアさ
れ , シリアル転送を開始します。
323
第 20 章 シリアル I/O
20.3.3
シフト動作のスタート / ストップタイミング
シフト動作をスタートする場合は , SMCS の STOP ビットを "0", STRT ビットを
"1" に設定します。シフト動作のストップタイミングについては , STOP=1 によって
停止する場合と , 転送終了によって停止する場合があります。
• STOP=1 によって停止→ MODE ビットにかかわらず SIR=0 のまま停止
• 転送終了で停止→ MODE ビットにかかわらず SIR=1 となり停止
BUSY ビットは MODE ビットにかかわらずシリアル転送状態のとき "1" となり , 停
止状態 , または R/W 待機状態のとき "0" となります。転送状態を確認したいときは
このビットを読み出してください。
■ シフト動作のスタート / ストップタイミング
● 内部シフトクロックモード (LSB ファースト )
図 20.3-3 シフト動作のスタート / ストップタイミング ( 内部クロック )
SCK2
"1"出力
(転送スタート)
STRT
(転送終了)
MODE=0の場合
BUSY
SOT2
DO0
DO7(データ保持)
・・・
● 外部シフトクロックモード (LSB ファースト )
図 20.3-4 シフト動作のスタート / ストップタイミング ( 外部クロック )
SCK2
(転送スタート)
STRT
(転送終了)
MODE=0の場合
BUSY
SOT2
324
DO0
・・・
DO7(データ保持)
第 20 章 シリアル I/O
● 外部シフトクロックモードで命令シフトを行った場合 (LSB ファースト )
図 20.3-5 シフト動作のスタート / ストップタイミング
( 外部シフトクロックモードで命令シフト実行時 )
PDRのSCK2ビット"0"
PDRのSCK2ビット"0"
PDRのSCK2ビット"1"
(転送終了)
MODE=0の場合
SCK2
STRT
BUSY
SOT2
・・・
DO6
DO7(データ保持)
<注意事項>
命令シフトでは , PDR の SCK2 に対応するビットに "1" が書き込まれた場合 "H" が出力さ
れ "0" が書き込まれたとき "L" が出力されます ( ただし , 外部シフトクロックモード選択
で , SCOE = 0 の場合 )。
● STOP=1 による停止 (LSB ファースト , 内部クロック時 )
図 20.3-6 STOP ビットを "1" とした場合のストップタイミング
"1"出力
SCK2
(転送スタート)
(転送停止)
MODE=0の場合
STRT
BUSY
STOP
SOT2
・・・
DO3
DO4
DO5(データ保持)
<注意事項>
DO7 ∼ DO0 は出力データを示します。
シリアルデータの転送中は , シフトクロックの立下りでシリアル出力端子 (SOT2) から
のデータが出力され , 立上りでシリアル入力端子 (SIN2) のデータが入力されます。
325
第 20 章 シリアル I/O
● LSB ファースト (BDS ビットが "0" の場合 )
図 20.3-7 シリアルデータの入出力シフトタイミング 1
SCK2
SIN2
SIN2入力
DI0
DI1
DI2
DI3
DI4
DI5
DI6
DI7
DO3
DO4
DO5
DO6
DO7
SOT2出力
SOT2
DO0
DO1
DO2
● MSB ファースト (BDS ビットが "1" の場合 )
図 20.3-8 シリアルデータの入出力シフトタイミング 2
SCK2
SIN2
SIN2入力
DI7
DI6
DI5
DI4
DI3
DI2
DI1
DI0
DO4
DO3
DO2
DO1
DO0
SOT2出力
SOT2
326
DO7
DO6
DO5
第 20 章 シリアル I/O
20.3.4
シリアル I/O の割込み機能
シリアル I/O は , CPU に対し割込み要求を発生することができます。データの転送
終了時に割込みフラグである SIR ビットがセットされ , 割込みを許可する SMCS の
SIE ビットが "1" のとき , CPU へ割込み要求を出力します。
■ シリアル I/O の割込み機能
図 20.3-9 シリアル I/O の割込み信号出力タイミング
SCK2
(転送終了)*
BUSY
SIE=1
SIR
SDRの
RD/WR
SOT2
DO6
DO7(データ保持)
*:MODE=1の場合
327
第 20 章 シリアル I/O
20.4
ネガティブクロック動作
MB90540/545 シリーズは , シリアル I/O のネガティブクロック動作をサポートしま
す。この動作では , シフトクロック信号はインバータにより単純に反転されます。こ
のため , 前述のシリアル I/O のシフトクロック信号の定義は , ロジック "L" レベルか
らロジック "H" レベルへ , ネガティブエッジからポジティブエッジへ , あるいはこの
逆に反転されます。このことは , シリアルクロックの入力および出力ともに同じで
す。エッジセレクタレジスタは , この目的のために用意されています。
■ ネガティブクロック動作
シリアルエッジセレクトレジスタ (SES2) のビット構成を図 20.4-1 に示します。
図 20.4-1 シリアルエッジセレクトレジスタ (SES2)
7
6
5
4
3
2
1
0
アドレス : 00002FH
─
─
─
─
─
─
─
NEG
リード / ライト→
初期値→
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(-)
(R/W)
(0)
表 20.4-1 NEG ビットの設定
NEG
328
動作
0
通常動作 ( デフォルト )
1
シフトクロック信号反転
←ビット No.
SES2
第 21 章
CAN コントローラ
CAN コントローラの機能と動作について説明しま
す。
21.1 CAN コントローラの特長
21.2 CAN コントローラのブロックダイヤグラム
21.3 全体制御レジスタの一覧
21.4 メッセージバッファ (ID レジスタ ) の一覧
21.5 メッセージバッファ (DLC レジスタ / データレジスタ )
の一覧
21.6 CAN コントローラのレジスタ分類
21.7 CAN コントローラの送信
21.8 CAN コントローラの受信
21.9 CAN コントローラの受信フローチャート
21.10 CAN コントローラの使用方法
21.11 メッセージバッファ (x) による送信方法
21.12 メッセージバッファ (x) による受信方法
21.13 マルチレベルメッセージバッファの構成の決定
21.14 CAN コントローラの使用上の注意
329
第 21 章 CAN コントローラ
21.1
CAN コントローラの特長
MB90540 シリーズには , 2 つの CAN コントローラ (CAN0, CAN1), MB90545 シ
リーズには 1 つの CAN コントローラ (CAN0) が装備されています。MB90V540 エ
バリュエーションチップにも , 2 つの CAN コントローラが装備されています。
CAN コントローラは , 16 ビットマイクロコンピュータ (F2MC-16LX) 内に一体化さ
れたモジュールです。CAN( コントローラエリアネットワーク ) は自動車用コント
ローラ間のシリアル通信用の標準プロトコルであり , 工業分野で広く使用されてい
るものです。
■ CAN コントローラの特長
CAN コントローラの特長は次のとおりです。
• CAN 仕様バージョン 2.0 パート A および B に適合しています。
標準フレームおよび拡張フレームフォーマットでの送信 / 受信をサポートしてい
ます。
• リモートフレームの受信によるデータフレームの送信をサポートしています。
• 16 個の送信 / 受信メッセージバッファ
- 29 ビットの ID および 8 バイトデータ
- マルチ・レベル・メッセージ・バッファ構造
• フルビット比較 , フルビットマスク , ID アクセプタンスマスクとして , アクセプタ
ンスレジスタ 0/ アクセプタンスレジスタ 1 を各メッセージバッファに提供していま
す。
標準フレームまたは拡張フレームフォーマットのいずれかで 2 個のアクセプタン
スマスクレジスタを提供します。
• ビット速度は 10K ビット /s ∼ 1M ビット /s でプログラマブルです (1M ビット /s で
ご使用の場合 , マシンクロックは 8 MHz 以上で動作する必要があります )。
330
第 21 章 CAN コントローラ
CAN コントローラのブロックダイヤグラム
21.2
図 21.2-1 に , CAN コントローラのブロックダイヤグラムを示します。
■ CAN コントローラのブロックダイヤグラム
図 21.2-1 CAN コントローラのブロックダイヤグラム
内部データバス
TQ (動作クロック)
プリスケーラ
1~64周波数分割
クロック
ビットタイミング発生
SYNC, TSEG1, TSEG2
PSC
TS1
BTR
TS2
RSJ
TOE
TS
RS
HALT
CSR
NIE
NT
バスステート
マシン
ノードステータス
変化割込み
ノードステータス
変化割込み発生
IDLE, INT, SUSPND,
送信,送信,ERR,OVRLD
NS1,NS0
エラー
制御
RTEC
送信/受信シーケンサ
BVALR
TREQR
TBFx,クリア
送信バッファx判定
TBFx
エラー
フレーム発生
データ アクセプタンス
カウンタ フィルタ
TDLC RDLC
TBFx
過負荷
フレーム
発生
IDSEL
BITER, STFER,
CRCER, FRMER,
ACKER
TCANR
出力
ドライバ
ARBLOST
TX
TRTRR
TCR
TBFx, セット, クリア
ACK発生
CRCER
RBFx, セット
RDLC
受信完了
割込み
受信完了
割込み発生
RIER
RRTRR
CRC発生
TDLC
送信完了
割込み
送信完了
割込み発生
TIER
RCR
スタッ
フィング
送信シフト
レジスタ
RFWTR
STFER
デスタッフィング/
スタッフィング
エラーチェック
受信シフト
レジスタ
RBFx, TBFx, セット, クリア
RBFx,セット
CRC発生/エラーチェック
IDSEL
ROVRR
ARBLOST
AMSR
AMR0
0
1
アクセプタンス
フィルタ
受信バッファx
判定
BITER
ビットエラー
チェック
ACKER
確認エラー
チェック
FRMER
フォームエラー
チェック
AMR1
IDR0~IDR15
DLCR0~DLCR15
DTR0~DTR15
RAM
RBFx
RAMアドレス
発生
アービトレーション
チェック
PH1
入力
ラッチ
RX
RBFx, TBFx, RDLC, TDLC, IDSEL
LEIR
IDER
331
第 21 章 CAN コントローラ
21.3
全体制御レジスタの一覧
表 21.3-1 に , 全体制御レジスタの一覧を示します。
■ 全体制御レジスタ
表 21.3-1 全体制御レジスタの一覧 (1 / 2)
アドレス
CAN0
CAN1
000070H
000080H
000071H
000081H
000072H
000082H
000073H
000083H
000074H
000084H
000075H
000085H
000076H
000086H
000077H
000087H
000078H
000088H
000079H
000089H
00007AH
00008AH
00007BH
00008BH
00007CH
00008CH
00007DH
00008DH
00007EH
00008EH
00007FH
00008FH
003B00H
003D00H
003B01H
003D01H
003B02H
003D02H
003B03H
003D03H
003B04H
003D04H
003B05H
003D05H
003B06H
003D06H
003B07H
003D07H
003B08H
003D08H
003B09H
003D09H
003B0AH 003D0AH
003B0BH 003D0BH
003B0CH 003D0CH
003B0DH 003D0DH
003B0EH 003D0EH
003B0FH
003D0FH
003B10H
003D10H
003B11H
003D11H
003B12H
003D12H
003B13H
003D13H
332
レジスタ
略号
アクセス
初期値
メッセージバッファ有効レジスタ
BVALR
R/W
00000000 00000000
送信要求レジスタ
TREQR
R/W
00000000 00000000
送信解除レジスタ
TCANR
W
00000000 00000000
送信完了レジスタ
TCR
R/W
00000000 00000000
受信完了レジスタ
RCR
R/W
00000000 00000000
リモート要求受信レジスタ
RRTRR
R/W
00000000 00000000
受信オーバランレジスタ
ROVRR
R/W
00000000 00000000
受信割込み許可レジスタ
RIER
R/W
00000000 00000000
制御ステータスレジスタ
CSR
R/W, R
00---000 0----001
ラストイベント表示レジスタ
LEIR
R/W
-------- 000-0000
受信および送信エラーカウンタ
RTEC
R
00000000 00000000
ビットタイミングレジスタ
BTR
R/W
-1111111 11111111
IDE レジスタ
IDER
R/W
XXXXXXXX XXXXXXXX
送信 RTR レジスタ
TRTRR
R/W
00000000 00000000
リモートフレーム受信待機レジスタ
RFWTR
R/W
XXXXXXXX XXXXXXXX
TIER
R/W
00000000 00000000
AMSR
R/W
送信割込み許可レジスタ
XXXXXXXX XXXXXXXX
アクセプタンスマスク選択レジスタ
XXXXXXXX XXXXXXXX
第 21 章 CAN コントローラ
表 21.3-1 全体制御レジスタの一覧 (2 / 2)
アドレス
CAN0
CAN1
003B14H
003D14H
003B15H
003D15H
003B16H
003D16H
003B17H
003D17H
003B18H
003D18H
レジスタ
略号
アクセス
初期値
XXXXXXXX XXXXXXXX
アクセプタンスマスクレジスタ 0
003B19H 003D19H
アクセプタンスマスクレジスタ 1
003B1AH 003D1AH
003B1BH 003D1BH
AMR0
R/W
XXXXX--- XXXXXXXX
XXXXXXXX XXXXXXXX
AMR1
R/W
XXXXX--- XXXXXXXX
333
第 21 章 CAN コントローラ
メッセージバッファ (ID レジスタ ) の一覧
21.4
表 21.4-1 に , メッセージバッファ (ID レジスタ ) の一覧を示します。
■ メッセージバッファ (ID レジスタ ) の一覧
表 21.4-1 メッセージバッファ (ID レジスタ ) の一覧 (1 / 2)
アドレス
CAN0
CAN1
003A00H ∼ 003C00H ∼
003A1FH
003C1FH
003C20H
003A20H
003A21H
003C21H
003A22H
003C22H
003A23H
003C23H
003A24H
003C24H
003A25H
003C25H
003A26H
003C26H
003A27H
003C27H
003A28H
003C28H
003A29H
003C29H
003A2AH
003C2AH
003A2BH
003C2BH
003A2CH
003C2CH
003A2DH
003C2DH
003A2EH
003C2EH
003A2FH
003C2FH
003A30H
003C30H
003A31H
003C31H
003A32H
003C32H
003A33H
003C33H
003A34H
003C34H
003A35H
003C35H
003A36H
003A37H
003C36H
003A38H
003C38H
003A39H
003C39H
003A3AH
003C3AH
003A3BH
003C3BH
003A3CH
003C3CH
003A3DH
003C3DH
003A3EH
003C3EH
003A3FH
003C3FH
003A40H
003C40H
003A41H
003C41H
003A42H
003C42H
003A43H
003C43H
334
レジスタ
略号
アクセス
初期値
汎用 RAM
--
R/W
XXXXXXXX ∼ XXXXXXXX
ID レジスタ 0
IDR0
R/W
XXXXXXXX XXXXXXXX
XXXXX--- XXXXXXXX
XXXXXXXX XXXXXXXX
ID レジスタ 1
IDR1
R/W
XXXXX--- XXXXXXXX
XXXXXXXX XXXXXXXX
ID レジスタ 2
IDR2
R/W
XXXXX--- XXXXXXXX
XXXXXXXX XXXXXXXX
ID レジスタ 3
IDR3
R/W
XXXXX--- XXXXXXXX
XXXXXXXX XXXXXXXX
ID レジスタ 4
IDR4
R/W
XXXXX--- XXXXXXXX
XXXXXXXX XXXXXXXX
ID レジスタ 5
IDR5
R/W
XXXXX--- XXXXXXXX
003C37H
XXXXXXXX XXXXXXXX
ID レジスタ 6
IDR6
R/W
XXXXX--- XXXXXXXX
XXXXXXXX XXXXXXXX
ID レジスタ 7
IDR7
R/W
XXXXX--- XXXXXXXX
XXXXXXXX XXXXXXXX
ID レジスタ 8
IDR8
R/W
XXXXX--- XXXXXXXX
第 21 章 CAN コントローラ
表 21.4-1 メッセージバッファ (ID レジスタ ) の一覧 (2 / 2)
アドレス
CAN0
CAN1
003A44H
003C44H
003A45H
003C45H
003A46H
003C46H
003A47H
003A48H
003C47H
003A49H
003C49H
003A4AH
003C4AH
003A4BH
003C4BH
レジスタ
略号
アクセス
XXXXXXXX XXXXXXXX
ID レジスタ 9
IDR9
R/W
XXXXX--- XXXXXXXX
003C48H
003A4CH
003C4CH
003A4DH
003C4DH
003A4EH
003C4EH
003A4FH
003C4FH
003A50H
003C50H
003A51H
003C51H
003A52H
003C52H
003A53H
003C53H
003A54H
003C54H
003A55H
003C55H
003A56H
003C56H
003A57H
003C57H
003A58H
003C58H
003A59H
003C59H
003A5AH
003C5AH
003A5BH
003C5BH
003A5CH
003C5CH
003A5DH
003C5DH
003A5EH
003C5EH
003A5FH
003C5FH
初期値
XXXXXXXX XXXXXXXX
ID レジスタ 10
IDR10
R/W
XXXXX--- XXXXXXXX
XXXXXXXX XXXXXXXX
ID レジスタ 11
IDR11
R/W
XXXXX--- XXXXXXXX
XXXXXXXX XXXXXXXX
ID レジスタ 12
IDR12
R/W
XXXXX--- XXXXXXXX
XXXXXXXX XXXXXXXX
ID レジスタ 13
IDR13
R/W
XXXXX--- XXXXXXXX
XXXXXXXX XXXXXXXX
ID レジスタ 14
IDR14
R/W
XXXXX--- XXXXXXXX
XXXXXXXX XXXXXXXX
ID レジスタ 15
IDR15
R/W
XXXXX--- XXXXXXXX
335
第 21 章 CAN コントローラ
メッセージバッファ (DLC レジスタ / データレジスタ )
の一覧
21.5
表 21.5-1 に , メッセージバッファ (DLC レジスタ ) の一覧を , 表 21.5-2 に , メッ
セージバッファ ( データレジスタ ) の一覧を示します。
■ メッセージバッファ (DLC レジスタ ) の一覧
表 21.5-1 メッセージバッファ (DLC レジスタ ) の一覧
アドレス
CAN0
CAN1
003A60H
003C60H
003A61H
003C61H
003A62H
003C62H
003A63H
003C63H
003A64H
003C64H
003A65H
003C65H
003A66H
003C66H
003A67H
003C67H
003A68H
003C68H
003A69H
003C69H
003A6AH
003C6AH
003A6BH
003C6BH
003A6CH
003C6CH
003A6DH
003C6DH
003A6EH
003C6EH
003A6FH
003C6FH
003A70H
003C70H
003A71H
003C71H
003A72H
003C72H
003A73H
003C73H
003A74H
003C74H
003A75H
003C75H
003A76H
003C76H
003A77H
003C77H
003A78H
003C78H
003A79H
003C79H
003A7AH
003C7AH
003A7BH
003C7BH
003A7CH
003C7CH
003A7DH
003C7DH
003A7EH
003C7EH
003A7FH
003C7FH
336
レジスタ
略号
アクセス
初期値
DLC レジスタ 0
DLCR0
R/W
-------- ----XXXX
DLC レジスタ 1
DLCR1
R/W
-------- ----XXXX
DLC レジスタ 2
DLCR2
R/W
-------- ----XXXX
DLC レジスタ 3
DLCR3
R/W
-------- ----XXXX
DLC レジスタ 4
DLCR4
R/W
-------- ----XXXX
DLC レジスタ 5
DLCR5
R/W
-------- ----XXXX
DLC レジスタ 6
DLCR6
R/W
-------- ----XXXX
DLC レジスタ 7
DLCR7
R/W
-------- ----XXXX
DLC レジスタ 8
DLCR8
R/W
-------- ----XXXX
DLC レジスタ 9
DLCR9
R/W
-------- ----XXXX
DLC レジスタ 10
DLCR10
R/W
-------- ----XXXX
DLC レジスタ 11
DLCR11
R/W
-------- ----XXXX
DLC レジスタ 12
DLCR12
R/W
-------- ----XXXX
DLC レジスタ 13
DLCR13
R/W
-------- ----XXXX
DLC レジスタ 14
DLCR14
R/W
-------- ----XXXX
DLC レジスタ 15
DLCR15
R/W
-------- ----XXXX
第 21 章 CAN コントローラ
■ メッセージバッファ ( データレジスタ ) の一覧
表 21.5-2 メッセージバッファ ( データレジスタ ) の一覧
アドレス
CAN0
CAN1
レジスタ
略号
アクセス
初期値
003A80H ∼
003A87H
003C80H ∼
データレジスタ 0 (8 バイト )
003C87H
DTR0
R/W
XXXXXXXX ∼
XXXXXXXX
003A88H ∼
003A8FH
003C88H ∼
データレジスタ 1 (8 バイト )
003C8FH
DTR1
R/W
XXXXXXXX ∼
XXXXXXXX
003A90H ∼
003A97H
003C90H ∼
データレジスタ 2 (8 バイト )
003C97H
DTR2
R/W
XXXXXXXX ∼
XXXXXXXX
003A98H ∼
003A9FH
003C98H ∼
データレジスタ 3 (8 バイト )
003C9FH
DTR3
R/W
XXXXXXXX ∼
XXXXXXXX
003AA0H ∼
003AA7H
003CA0H ∼
データレジスタ 4 (8 バイト )
003CA7H
DTR4
R/W
XXXXXXXX ∼
XXXXXXXX
003AA8H ∼
003AAFH
003CA8H ∼
データレジスタ 5 (8 バイト )
003CAFH
DTR5
R/W
XXXXXXXX ∼
XXXXXXXX
003AB0H ∼
003AB7H
003CB0H ∼
データレジスタ 6 (8 バイト )
003CB7H
DTR6
R/W
XXXXXXXX ∼
XXXXXXXX
003AB8H ∼
003ABFH
003CB8H ∼
データレジスタ 7 (8 バイト )
003CBFH
DTR7
R/W
XXXXXXXX ∼
XXXXXXXX
003AC0H ∼
003AC7H
003CC0H ∼
データレジスタ 8 (8 バイト )
003CC7H
DTR8
R/W
XXXXXXXX ∼
XXXXXXXX
003AC8H ∼
003ACFH
003CC8H ∼
データレジスタ 9 (8 バイト )
003CCFH
DTR9
R/W
XXXXXXXX ∼
XXXXXXXX
003AD0H ∼
003AD7H
003CD0H ∼
データレジスタ 10 (8 バイト )
003CD7H
DTR10
R/W
XXXXXXXX ∼
XXXXXXXX
003AD8H ∼
003ADFH
003CD8H ∼
データレジスタ 11 (8 バイト )
003CDFH
DTR11
R/W
XXXXXXXX ∼
XXXXXXXX
003AE0H ∼
003AE7H
003CE0H ∼
データレジスタ 12 (8 バイト )
003CE7H
DTR12
R/W
XXXXXXXX ∼
XXXXXXXX
003AE8H ∼
003AEFH
003CE8H ∼
データレジスタ 13 (8 バイト )
003CEFH
DTR13
R/W
XXXXXXXX ∼
XXXXXXXX
003AF0H ∼
003AF7H
003CF0H ∼
データレジスタ 14 (8 バイト )
003CF7H
DTR14
R/W
XXXXXXXX ∼
XXXXXXXX
003AF8H ∼
003AFFH
003CF8H ∼
データレジスタ 15 (8 バイト )
003CFFH
DTR15
R/W
XXXXXXXX ∼
XXXXXXXX
337
第 21 章 CAN コントローラ
21.6
CAN コントローラのレジスタ分類
CAN コントローラのレジスタは , 次の 3 つに分類されます。
• 全体制御レジスタ
• メッセージバッファ制御レジスタ
• メッセージバッファ
■ 全体制御レジスタ
全体制御レジスタには , 次の 4 つがあります。
• 制御ステータスレジスタ (CSR)
• ラストイベント表示レジスタ (LEIR)
• 受信および送信エラーカウンタ (RTEC)
• ビットタイミングレジスタ (BTR)
■ メッセージバッファ制御レジスタ
メッセージバッファ制御レジスタには , 次の 14 のレジスタがあります。
• メッセージバッファ有効レジスタ (BVALR)
• IDE レジスタ (IDER)
• 送信要求レジスタ (TREQR)
• 送信 RTR レジスタ (TRTRR)
• リモートフレーム受信待機レジスタ (RFWTR)
• 送信解除レジスタ (TCANR)
• 送信完了レジスタ (TCR)
• 送信割込み許可レジスタ (TIER)
• 受信完了レジスタ (RCR)
• リモート要求受信レジスタ (RRTRR)
• 受信オーバランレジスタ (ROVRR)
• 受信割込み許可レジスタ (RIER)
• アクセプタンスマスク選択レジスタ (AMSR)
• アクセプタンスマスクレジスタ 0 および 1(AMR0/AMR1)
■ メッセージバッファ
メッセージバッファは , 次の 3 つがあります。
• ID レジスタ x(x=0 ∼ 15)(IDRx)
• DLC レジスタ x(x=0 ∼ 15)(DLCRx)
• データレジスタ x(x=0 ∼ 15)(DTRx)
338
第 21 章 CAN コントローラ
21.6.1
制御ステータスレジスタ (CSR)
制御ステータスレジスタ (CSR) の下位 8 ビットに対しては , ビット操作命令 ( リー
ドモディファイライト ) を実行することは禁止されています。ただし , HALT ビット
が変化しないタイミング ( マクロの初期化時など ) では , ビット操作命令を使用して
も問題ありません。
■ 制御ステータスレジスタ (CSR)
CAN 制御ステータスレジスタ (CSR) のビット構成を図 21.6-1 に示します。
図 21.6-1 制御ステータスレジスタ (CSR)
アドレス:003B01H(CAN0)
003D01H(CAN1)
15
14
13
12
11
10
9
8
TS
RS
NS0
(R)
─
(-)
NS1
(R)
─
(-)
NT
リード / ライト→
─
(-)
(R/W)
(R)
(R)
初期値→
(0)
(0)
(-)
(-)
(-)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
TOE
─
(-)
─
(-)
─
(-)
NIE
(R/W)
予約
(W)
HALT
(R/W)
─
(-)
(R/W)
(0)
(-)
(-)
(-)
(-)
(0)
(0)
(1)
アドレス:003B00H(CAN0)
003D00H(CAN1)
リード / ライト→
初期値→
←ビット No.
CSR
←ビット No.
CSR
【bit 15】TS: 送信ステータスビット
本ビットはメッセージが送信中であるかどうかを示します。
0: メッセージは送信されていません。
1: メッセージが送信されています。
本ビットはエラーフレームおよび過負荷フレームが送信されている間も "0" です。
【bit 14】RS: 受信ステータスビット
本ビットはメッセージが受信されているかどうかを示します。
0: メッセージは受信されていません。
1: メッセージが受信されています。
メッセージがバス上にある間 , 本ビットは "1" になります。このため本ビットはメッ
セージが送信されている間も "1" になります。本ビットは必ずしも , 受信メッセージが
アクセプタンスフィルタを通って通過したかどうかを示すものではありません。
結果として本ビットが "0" であるときは , バス動作は停止している (HALT = 0) か , バス
はインターミッション / バスアイドルにある , またはエラー / オーバロードフレームが
バス上にあることを意味します。
339
第 21 章 CAN コントローラ
【bit 10】NT: ノードステータス遷移フラグ
ノードステータスがインクリメントに変化し,またはバスオフからエラーアクティブに
変化しても本ビットは "1" になります。
すなわち , NT ビットは , ノードステータスがエラーアクティブ (00B) からワーニング
(01B) に , ワーニング (01B) からエラーパッシブ (10B) に , エラーパッシブ (10B) からバ
スオフ (11B) に , バスオフ (11B) からエラーアクティブ (00B) に変化したときに "1" に
セットされます。括弧内の数字は NS1 ビットおよび NS0 ビットの値を示します。
ノードステータス遷移割込み許可ビット (NIE) が "1" であるときに割込みが発生しま
す。"0" を書き込むと NT ビットが "0" にセットされます。NT ビットに "1" を書き込ん
でも無視されます。リードモディファイライト系命令が読み出されたときに "1" が読
み出されます。
【bit 9, bit 8】NS1,NS0: ノードステータスビット 1 および 0
本ビット群は現在のノードステータスを表します。
表 21.6-1 NS1, NS0 およびノードステータスの間の対応
NS1
NS0
0
0
エラーアクティブ
0
1
ワーニング ( エラーアクティブ )
1
0
エラーパッシブ
1
1
バスオフ
ノードステータス
<注意事項>
ワーニング ( エラーアクティブ ) はノードステータスに対する CAN 仕様 2.0B におけるエ
ラーアクティブに含まれますが , 送信エラーカウンタまたは受信エラーカウンタが 96 を
超えたことを表します。
ノードステータスの変化図を図 21.6-2 に示します。
図 21.6-2 ノードステータス遷移図
ハードウェアリセット
REC: 受信エラーカウンタ
TEC: 送信エラーカウンタ
エラー
アクティブ
レジスタ(CSR)のHALTビットに"0"が書き込
まれた後,連続的な11ビット"H"レベル
(リセッシブビット)が受信入力端子(RX)に,
128回入力される。
REC ≧ 96
または
TEC ≧ 96
REC < 96
および
TEC < 96
ワーニング
REC ≧ 128
または
TEC ≧ 128
エラー
パッシブ
340
REC < 128
および
TEC < 128
バスオフ
TEC ≧ 256
第 21 章 CAN コントローラ
【bit 7】TOE: 送信出力許可ビット
本ビットに "1" を書き込むと汎用ポート端子を CAN コントローラの送信端子に切り換
えます。
0: 汎用ポート端子
1:CAN コントローラの送信端子
【bit 2】NIE: ノードステータス遷移割込み許可ビット
本ビットはノードステータス遷移割込み (NT = 1 の場合 ) を許可または禁止します。
0: ノードステータス遷移割込みを禁止する
1: ノードステータス遷移割込みを許可する
【bit 1】Reserved: 予約ビット
このビットには常に "0" を書き込んでください。リード値は常に "0" です。
【bit 0】HALT: バス動作停止ビット
読出し時
0:バス動作中
1:バス動作停止
書込み時
0:バス動作停止を解除
1:バス動作停止をセット
<注意事項>
バスオフ時に HALT ビットに "0" を書き込む場合は , HALT ビットが "1" になっているこ
とを確認後 , "0" を書き込んでください。
参考プログラム例:
switch (IO_CANCTO.CSE.bit.NS)
{
case 0 : / *error active */
break;
case 1 : / * warning */
break;
case 2 : / * error passive */
break;
default: / * bus off */
for (1=0; (I<=500)&&(IO_CANCTO.CSR.bit.HALT=0);I++);
IO_CANCTO.CSR.word = 0x0084: /* HALT */
break;
}
* : 変数はフェイルセーフのために使用しています。
341
第 21 章 CAN コントローラ
バス動作停止ビット (HALT=1)
21.6.2
バス動作停止ビットは , バス動作停止をセットもしくは解除し , またはそのステート
を表示します。
■ バス動作停止をセットする条件 (HALT=1)
バス動作停止をセットする条件 (HALT=1) として , 次の 3 つがあります。
• ハードウェアリセットの後
• ノードステータスがバスオフに変化したとき
• HALT への "1" の書込み
<注意事項>
• バス動作は F2MC-16LX が低消費電力消費モード ( 停止モード , クロックモードおよび
ハードウェアスタンバイモード ) に遷移する前に HALT に "1" を書き込むことにより停
止しなければなりません。HALT に "1" が書き込まれるときに , 送信が進行中であれば
送信が終了した後にバス動作は停止します (HALT=1)。また , HALT に "1" が書き込ま
れるときに , 受信が進行中であればバス動作は直ちに停止します (HALT = 1)。もし受
信されたメッセージがメッセージバッファ(x) に格納中であればメッセージを格納した
後に , バス動作は停止します (HALT = 1)。
• バス動作が停止したかどうかは,常にHALTビットを読み出してチェックしてください。
■ バス動作停止を解除する条件 (HALT = 0)
HALT への "0" の書込み
<注意事項>
• 上記条件のハードウェアリセット後または HALT に "1" を書き込むことによるバス動作
停止の解除は , HALT に "0" が書き込まれ受信入力端子 (RX) に継続的な 11 ビットの "H"
レベル ( リセッシブビット ) が入力された後に行われます。
• 上記条件のノードステータスがバスオフに変化したときのバス動作停止の解除は , HALT
に "0" が書き込まれ受信入力端子 (RX) に継続的な 11 ビットの "H" レベル ( リセッシブ
ビット ) が 128 回入力された後に行われます。次に送信および受信エラーカウンタの両
者の値が "0" に達してノードステータスはエラーアクティブに変化します。
• バスオフ時に HALT ビットに "0" を書き込む場合は , HALT ビットが "1" になっている
ことを確認後 , "0" を書き込んでください。
342
第 21 章 CAN コントローラ
■ バス動作停止間の状態 (HALT=1)
• バスは , 送信および受信などの動作を一切行いません。
• 送信出力端子 (TX) は ,"H" レベル ( リセッシブビット ) を出力します。
• ほかのレジスタおよびエラーカウンタの値は変化しません。
<注意事項>
ビットタイミングレジスタ (BTR) はバス動作停止 (HALT = 1) の間にセットしなければな
りません。
343
第 21 章 CAN コントローラ
21.6.3
ラストイベント表示レジスタ (LEIR)
本レジスタはラストイベントを示します。
NTE, TCE および RCE は排他的なものです。ラストイベントのビットが "1" にセッ
トされたときほかのビットは "0" にセットされます。
■ ラストイベント表示レジスタ (LEIR)
ラストイベント表示レジスタ (LEIR) のビット構成を図 21.6-3 に示します。
図 21.6-3 ラストイベント表示レジスタ (LEIR)
アドレス:003B02H(CAN0)
003D02H(CAN1)
リード / ライト→
初期値→
7
6
5
4
3
2
1
0
NTE
TCE
RCE
MBP3
MBP2
MBP1
(R/W)
(R/W)
(R/W)
─
(-)
←ビット No.
MBP0
LEIR
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(-)
(0)
(0)
(0)
(0)
【bit 7】NTE: ノードステータス遷移イベントビット
• 本ビットが "1" のときはノードステータス遷移がラストイベントであることを表し
ます。
• 本ビットは制御ステータスレジスタ (CSR) の NT ビットと同時に "1" にセットされ
ます。
• 本ビットは,CSR のノードステータス遷移割込み許可ビット (NIE) のセッティング
とは無関係に "1" にセットされます。
• 本ビットに "0" を書き込むと NT ビットは "0" にセットされます。本ビットに "1" を
書き込んでも無視されます。
• リードモディファイライト系命令が実行されたときは "1" が読み出されます。
【bit 6】TCE: 送信完了イベントビット
本ビットが "1" のときは送信完了がラストイベントであることを表します。
本ビットは送信完了レジスタ (TCR) のビットのいずれか 1 つと同時に "1" にセットさ
れます。また本ビットは送信割込み許可レジスタ (TIER) のビットのセッティングとは
無関係に "1" にセットされます。
"0" を書き込むと本ビットは "0" にセットされます。本ビットに "1" を書き込んでも無
視されます。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
本ビットが "1" にセットされたとき MBP3 ∼ MBP0 ビットは送信動作を完了したメッ
セージバッファの番号を示すために使用されます。
344
第 21 章 CAN コントローラ
【bit 5】RCE: 受信完了イベントビット
本ビットが "1" であるときは受信完了がラストイベントであることを表します。
本ビットは受信完了レジスタ (RCR) のビットのいずれか 1 つと同時に "1" にセットさ
れます。また本ビットは受信割込み許可レジスタ (RIER) のビットのセッティングとは
無関係に "1" にセットされます。
"0" を書き込むと本ビットは "0" にセットされます。本ビットに "1" を書き込んでも無
視されます。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
本ビットが "1" にセットされたとき MBP3 ∼ MBP0 ビットは受信動作を完了したメッ
セージバッファの番号を示すために使用されます。
【bit 3 ∼ bit 0】MBP3 ∼ MBP0: メッセージバッファポインタビット
TCE または RCE ビットが "1" にセットされたときに本ビット群は対応するメッセージ
バッファ (0 ∼ 15) の番号を示します。
NTE ビットが "1" にセットされると本ビット群は意味を持ちません。
"0" を書き込むと本ビット群は "0" にセットされます。本ビット群に "1" を書き込んで
も無視されます。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
もし LEIR が CAN 割込みハンドラ内でアクセスされたとしても割込みを引き起こした
イベントは必ずしも LEIR により表されるものと同じではありません。割込みハンドラ
内で LEIR アクセスに対する割込み要求の時点でほかの CAN イベントが生ずる可能性
があります。
345
第 21 章 CAN コントローラ
21.6.4
受信および送信エラーカウンタ (RTEC)
受信および送信エラーカウンタは , CAN 仕様で定められる送信エラーカウントおよ
び受信エラーカウントを示します。このレジスタは読出し専用です。
■ 受信および送信エラーカウンタ (RTEC)
受信および送信エラーカウンタ (RTEC) のビット構成を図 21.6-4 に示します。
図 21.6-4 受信および送信エラーカウンタ (RTEC)
15
14
13
12
11
10
9
8
TEC7
TEC6
TEC5
TEC4
TEC3
TEC2
TEC1
TEC0
リード / ライト→
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
アドレス:003B05H(CAN0)
003D05H(CAN1)
7
6
5
4
3
2
1
0
REC7
REC6
REC5
REC4
REC3
REC2
REC1
REC0
リード / ライト→
(R)
(R)
(R)
(R)
(R)
(R)
(R)
(R)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
アドレス:003B04H(CAN0)
003D04H(CAN1)
←ビット No.
RTEC
←ビット No.
RTEC
【bit 15 ∼ bit 8】TEC7 ∼ TEC0: 送信エラーカウンタ
これらは送信エラーカウンタです。
TEC7 ∼ TEC0 は , カウンタ値が 256 より大きい場合 0 ∼ 7 を示します。以降のインク
リメントはカウンタ値にカウントされません。この場合バスオフがノードステータス
で示されます ( 制御ステータスレジスタ CSR の NS1 および NS0 = 11B)。
【bit 7 ∼ bit 0】REC7 ∼ REC0: 受信エラーカウンタ
これらは受信エラーカウンタです。
REC7 ∼ REC0 は , カウンタ値が 256 より大きい場合に 0 ∼ 7 を示します。以降のイン
クリメントはカウンタ値にカウントされません。この場合エラーパッシブがノードス
テータスで示されます ( 制御ステータスレジスタ CSR の NS1 および NS0 = 10B)。
346
第 21 章 CAN コントローラ
ビットタイミングレジスタ (BTR)
21.6.5
ビットタイミングレジスタ (BTR) は , プリスケーラおよびビットタイミングをセッ
トするものです。
■ ビットタイミングレジスタ (BTR)
ビットタイミングレジスタ (BTR) のビット構成を図 21.6-5 に示します。
図 21.6-5 ビットタイミングレジスタ (BTR)
15
14
13
12
11
10
9
8
TS2.2
TS2.1
TS2.0
TS1.3
TS1.2
TS1.1
TS1.0
リード / ライト→
─
(-)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(-)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
アドレス:003B07H(CAN0)
003D07H(CAN1)
アドレス:003B06H(CAN0)
003D06H(CAN1)
7
6
5
4
3
2
1
0
RSJ1
RSJ0
PSC5
PSC4
PSC3
PSC2
PSC1
PSC0
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
初期値→
←ビット No.
BTR
←ビット No.
BTR
<注意事項>
本レジスタはバス動作停止 (HALT = 1) の間にセットしなければなりません。
【bit 14 ∼ bit 12】TS2.2 ∼ TS2.0: タイムセグメント 2 セットビット 2 ∼ 0
本ビット群は単位時間 (TQ) を [(TS2.2 ∼ TS2.0)+1] で分周してタイムセグメント
2(TSEG2) を決定します。タイムセグメント 2 は CAN 仕様におけるフェーズバッファ
セグメント 2(PHASE_SEG2) に等しいものです。
【bit 11 ∼ bit 8】TS1.3 ∼ TS1.0: タイムセグメント 1 設定ビット 3 ∼ 0
本ビット群は単位時間 (TQ) を [(TS1.3 ∼ TS1.0)+1] で分周してタイムセグメント
1(TSEG1) を決定します。タイムセグメント 1 は CAN 仕様におけるプロパゲーション
セグメント (PROP_SEG)+ フェーズバッファセグメント 1(PHASE_SEG1) に等しいもの
です。
【bit 7, bit 6】RSJ1, RSJ0: 再同期ジャンプ幅設定ビット 1 および 0
本ビット群は単位時間 (TQ) を [(RSJ1 ∼ RSJ0)+1] で分周して再同期ジャンプ幅を決定
させます。
【bit 5 ∼ bit 0】PSC5 ∼ PSC0: プリスケーラ設定ビット 5 ∼ 0
本ビット群は入力クロックを [(PSC5 ∼ PSC0)+1] の周波数で分割して CAN コントロー
ラの単位時間 (TQ) を決定します。
CAN 仕様および CAN コントローラの各々におけるビット時間セグメントは図 21.6-6
および図 21.6-7 に示されています。
347
第 21 章 CAN コントローラ
図 21.6-6 CAN 仕様におけるビット時間セグメント
ノミナルビット時間
SYNC_SEG
PROP_SEG
PHASE_SEG1
PHASE_SEG2
↑
サンプルポイント
図 21.6-7 CAN コントローラにおけるビット時間セグメント
ノミナルビット時間
SYNC_SEG
TSEG1
TSEG2
↑
サンプルポイント
入力クロック (CLK), 単位時間 (TQ), ビットタイム (BT), 同期セグメント (SYNC_SEG),
タイムセグメント 1 (TSEG1), タイムセグメント 2 (TSEG2) および再同期ジャンプ幅
[(RSJ1+RSJ0)+1] 周波数分割としたときの PSC = PSC5 ∼ PSC0, TS1= TS1.3 ∼ TS1.0,
TS2 = TS2.2 ∼ TS2.0, RSJ = RSJ1 および RSJ0 の間の関係は次に示すとおりです。
入力クロックは , マシンクロックに組み込まれています。
TQ
= (PSC + 1) × CLK
BT
= SYNC_SEG + TSEG1 + TSEG2
= (1 + (TS1 + 1) + (TS2 + 1)) × TQ
= (3 + TS1 + TS2) TQ
RSJW = (RSJ + 1) × TQ
正しく動作を行うためには以下の条件を満足しなければなりません。
G サフィックス付きの製品
G サフィックスなしの製品
• 1 ≦ PSC ≦ 63 の場合
• 1 ≦ PSC ≦ 63 の場合
TSEG1 ≧ 2TQ
TSEG1 ≧ RSJW
TSEG1 ≧ RSJW
TSEG2 ≧ RSJW+2TQ
TSEG2 ≧ 2TQ
TSEG2 ≧ RSJW
• PSC=0 の場合
• PSC=0 の場合
TSEG1 ≧ 5TQ
TSEG2 ≧ RSJW+2TQ
TSEG1 ≧ 5TQ
TSEG2 ≧ 2TQ
TSEG2 ≧ RSJW
CAN 仕様に従ったビットタイミングの設定をするためには , 遅延時間などほかの条件
も考慮しなければなりません。
348
第 21 章 CAN コントローラ
メッセージバッファ有効レジスタ (BVALR)
21.6.6
メッセージバッファ有効レジスタ (BVALR) は , メッセージバッファ (x) の有効性を
セットし , またはそのステートを表示するものです。
■ メッセージバッファ有効レジスタ (BVALR)
メッセージバッファ有効レジスタ (BVALR) のビット構成を図 21.6-8 に示します。
図 21.6-8 メッセージバッファ有効レジスタ (BVALR)
アドレス:000071H(CAN0)
000081H(CAN1)
リード / ライト→
初期値→
アドレス:000070H(CAN0)
000080H(CAN1)
リード / ライト→
初期値→
←ビット
No.
BVAL15 BVAL14 BVAL13 BVAL12 BVAL11 BVAL10 BVAL9 BVAL8
BVALR
15
14
13
12
11
10
9
8
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
←ビット
No.
BVAL7 BVAL6 BVAL5 BVAL4 BVAL3 BVAL2 BVAL1 BVAL0
BVALR
7
6
5
4
3
2
1
0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
0: メッセージバッファ (x) 無効
1: メッセージバッファ (x) 有効
メッセージバッファ (x) が無効にセットされると,メッセージの送信または受信を行い
ません。
バッファが送信動作の間に無効にセットされると,送信が完了またはエラーにより終
了した後で無効 (BVALx=0) になります。
バッファが受信動作の間に無効にセットされると,直ちに無効 (BVALx=0) になります。
もし,受信メッセージがメッセージバッファ (x) に格納されていればメッセージバッ
ファ (x) はメッセージを格納した後に無効となります。
<注意事項>
• x はメッセージバッファ番号を示します (x=0 ∼ 15)。
• ビット (BVALx) に "0" を書き込むことによりメッセージバッファ(x) を無効としたとき
にビット操作命令の実行はそのビットが "0" にセットされるまで禁止されます。
• CAN コントローラが CAN 通信に参加している状態 (CSR: HALT ビットの読出し値が
"0" で , CAN コントローラが CAN バスの通信に参加しており送受信が可能な状態 ) で ,
メッセージバッファを無効 (BVALR:BVAL = 0) にする場合は「21.14 CAN コントロー
ラの使用上の注意」に従ってください。
349
第 21 章 CAN コントローラ
IDE レジスタ (IDER)
21.6.7
本レジスタは送信 / 受信の間にメッセージバッファ (x) により使用されるフレーム
フォーマットを設定します。
■ IDE レジスタ (IDER)
IDE レジスタ (IDER) のビット構成を図 21.6-9 に示します。
図 21.6-9 IDE レジスタ (IDER)
アドレス:003B09H(CAN0)
003D09H(CAN1)
15
14
13
12
11
10
9
8
IDE15
IDE14
IDE13
IDE12
IDE11
IDE10
IDE9
IDE8
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
初期値→
アドレス:003B08H(CAN0)
003D08H(CAN1)
7
6
5
4
3
2
1
0
IDE7
IDE6
IDE5
IDE4
IDE3
IDE2
IDE1
IDE0
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
初期値→
←ビット No.
IDER
←ビット No.
IDER
0: メッセージバッファ (x) に対して標準フレームフォーマット (ID11 ビット ) が
使用されます。
1: メッセージバッファ (x) に対して拡張フレームフォーマット (ID29 ビット ) が
使用されます。
<注意事項>
• 本レジスタはメッセージバッファ (x) が無効であるとき ( メッセージバッファ有効レジ
スタの BVALx(BVALR) = 0) に設定しなければなりません。バッファが有効である
(BVALx = 1) ときに設定を行うと受信メッセージを不必要に格納する可能性がありま
す。
• CAN コントローラが CAN 通信に参加している状態 (CSR: HALT ビットの読出し値が
"0" で , CAN コントローラが CAN バスの通信に参加しており送受信が可能な状態 ) で ,
メッセージバッファを無効 (BVALR:BVAL = 0) にする場合は「21.14
,
CAN コントロー
ラの使用上の注意」に従ってください。
350
第 21 章 CAN コントローラ
21.6.8
送信要求レジスタ (TREQR)
送信要求レジスタ (TREQR) は , メッセージバッファ (x) に対する送信要求を設定し ,
またはその状態を表示します。
■ 送信要求レジスタ (TREQR)
送信要求レジスタ (TREQR) のビット構成を図 21.6-10 に示します。
図 21.6-10 送信要求レジスタ (TREQR)
アドレス:000073H(CAN0)
000083H(CAN1)
リード / ライト→
初期値→
アドレス:000072H(CAN0)
000082H(CAN1)
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
TREQ15 TREQ14 TREQ13 TREQ12 TREQ11 TREQ10 TREQ9 TREQ8
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
TREQ7 TREQ6 TREQ5 TREQ4 TREQ3 TREQ2 TREQ1 TREQ0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
←ビット No.
TREQR
←ビット No.
TREQR
TREQx に "1" が書き込まれたときメッセージバッファ (x) に対する送信を開始します。
もしリモートフレーム受信待機レジスタ (RFWTR)*1 の RFWTx が "0" であれば送信は
直ちに開始します。しかし RFWTx = 1 であればリモートフレームが受信される ( リモー
ト要求受信レジスタ (RRTRR)*1 が "1" になる ) まで待機した後に送信が開始します。も
し TREQx に "1" が書き込まれるときに RRTRx が既に "1" であれば , RFWTx = 1 であっ
ても送信は直ちに開始します *2。
*1:TRTRR および RFWTR に関しては , 「21.6.9 送信 RTR レジスタ (TRTRR)」および
「21.6.10 リモートフレーム受信待機レジスタ (RFWTR)」を参照してください。
*2: 送信の解除に関しては , 「21.6.11 送信解除レジスタ (TCANR)」および「21.6.12 送
信完了レジスタ (TCR)」を参照してください。
TREQx に "0" を書き込んでも無視されます。
リードモディファイライト系命令が読み出されたときは "0" が読み出されます。
もし送信動作の完了時における ("0" への ) クリアおよび "1" の書込みによる設定が同
時に生じればクリア動作が優先されます。
もし 1 つ以上のビットに "1" が書き込まれれば下位番号のメッセージバッファ(x) から
開始して送信が行われます。
TREQx は送信が待ち状態中は "1" であり , 送信が完了または解除されたときに "0" にな
ります。
351
第 21 章 CAN コントローラ
21.6.9
送信 RTR レジスタ (TRTRR)
本レジスタはメッセージバッファ (x) による送信 RTR( リモート送信要求 ) ビットを
設定するものです。
■ 送信 RTR レジスタ (TRTRR)
送信 RTR レジスタ (TRTRR) のビット構成を図 21.6-11 に示します。
図 21.6-11 送信 RTR レジスタ (TRTRR)
アドレス:003B0BH(CAN0)
003D0BH(CAN1)
リード / ライト→
初期値→
アドレス:003B0AH(CAN0)
003D0AH(CAN1)
リード / ライト→
初期値→
15
14
13
12
10
9
8
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
TRTR7 TRTR6 TRTR5 TRTR4 TRTR3 TRTR2 TRTR1 TRTR0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
0: データフレームが送信されます。
1: リモートフレームが送信されます。
352
11
TRTR15 TRTR14 TRTR13 TRTR12 TRTR11 TRTR10 TRTR9 TRTR8
←ビット No.
TRTRR
←ビット No.
TRTRR
第 21 章 CAN コントローラ
リモートフレーム受信待機レジスタ (RFWTR)
21.6.10
リモートフレーム受信待機レジスタ (RFWTR) は , データフレーム送信に対する要求
が設定された ( 送信要求レジスタ (TREQR) の TREQx が "1" であり送信 RTR レジ
スタ (TRTRR) の TRTRx が "0" である ) ときに送信を開始する条件を設定します。
0: 送信は直ちに開始します。
1: リモートフレーム受信 ( リモート要求受信レジスタ (RRTRR) が "1" になる ) ま
で待機した後に送信を開始します。
■ リモートフレーム受信待機レジスタ (RFWTR)
リモートフレーム受信待機レジスタ (RFWTR) のビット構成を図 21.6-12 に示します。
図 21.6-12 リモートフレーム受信待機レジスタ (RFWTR)
アドレス:003B0DH(CAN0)
003D0DH(CAN1)
リード / ライト→
初期値→
アドレス:003B0CH(CAN0)
003D0CH(CAN1)
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
7
6
5
4
3
2
1
0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
←ビット No.
RFWT15 RFWT14 RFWT13 RFWT12 RFWT11 RFWT10 RFWT9 RFWT8
RFWTR
←ビット No.
RFWT7 RFWT6 RFWT5 RFWT4 RFWT3 RFWT2 RFWT1 RFWT0
RFWTR
<注意事項>
• 送信に対する要求が設定されたときに RRTRx が既に "1" であれば送信は直ちに開始し
ます。
• リモートフレーム送信に対しては RFWTx を "1" にセットしないでください。
353
第 21 章 CAN コントローラ
21.6.11
送信解除レジスタ (TCANR)
TCANx に "1" が書き込まれたときに本レジスタはメッセージバッファ (x) への送信
に対する待ち状態中の要求を解除します。
解除の完了時に送信要求レジスタ (TREQR) の TREQx は "0" になります。TCANx
に "0" を書き込んでも無視されます。
これは書込み専用レジスタであり , そのリード値は常に "0" です。
■ 送信解除レジスタ (TCANR)
送信解除レジスタ (TCANR) のビット構成を図 21.6-13 に示します。
図 21.6-13 送信解除レジスタ (TCANR)
アドレス:000075H(CAN0)
000085H(CAN1)
14
13
12
11
10
9
8
TCAN8
リード / ライト→
(W)
(W)
(W)
(W)
(W)
(W)
(W)
(W)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
TCAN7
TCAN6
TCAN5
TCAN4
TCAN3
TCAN2
TCAN1
TCAN0
リード / ライト→
(W)
(W)
(W)
(W)
(W)
(W)
(W)
(W)
初期値→
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
アドレス:000074H(CAN0)
000084H(CAN1)
354
15
TCAN15 TCAN14 TCAN13 TCAN12 TCAN11 TCAN10 TCAN9
←ビット No.
TCANR
←ビット No.
TCANR
第 21 章 CAN コントローラ
送信完了レジスタ (TCR)
21.6.12
メッセージバッファ (x) により送信の完了時に対応する TCx は "1" になります。も
し送信完了割込み許可レジスタ (TIER) の TIEx が "1" であれば , 割込みが生じます。
■ 送信完了レジスタ (TCR)
送信完了レジスタ (TCR) のビット構成を図 21.6-14 に示します。
図 21.6-14 送信完了レジスタ (TCR)
15
14
13
12
11
10
9
8
アドレス:000077H(CAN0)
000087H(CAN1)
TC15
TC14
TC13
TC12
TC11
TC10
TC9
TC8
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
初期値→
アドレス:000076H(CAN0)
000086H(CAN1)
リード / ライト→
初期値→
TC7
TC6
TC5
TC4
TC3
TC2
TC1
TC0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
←ビット No.
TCR
←ビット No.
TCR
● TCx = 0 となる条件
• TCx に "0" を書き込む。
• 送信要求レジスタ (TREQR) の TREQx に "1" を書き込む。
送信の完了の後で TCx に "0" を書き込むとそれを "0" にセットします。TCx に "1" を書
き込んでも無視されます。リードモディファイライト系命令が実行されたときは "1" が
読み出されます。
<注意事項>
送信動作の完了時の "1" への設定および "0" の書込みによるクリアが同時に生じたときは
"1" への設定が優先します。
355
第 21 章 CAN コントローラ
21.6.13
送信割込み許可レジスタ (TIER)
本レジスタはメッセージバッファ (x) による送信割込みを許可または禁止します。送
信割込みは送信完了時 ( 送信完了レジスタ (TCR) の TCx が "1" になったとき ) に発
生します。
■ 送信割込み許可レジスタ (TIER)
送信割込み許可レジスタ (TIER) のビット構成を図 21.6-15 に示します。
図 21.6-15 送信割込み許可レジスタ (TIER)
アドレス:003B0FH(CAN0)
003D0FH(CAN1)
15
14
13
12
11
10
TIE15
TIE14
TIE13
TIE12
TIE11
TIE10
TIE9
TIE8
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
初期値→
9
8
アドレス:003B0EH(CAN0)
003D0EH(CAN1)
TIE7
TIE6
TIE5
TIE4
TIE3
TIE2
TIE1
TIE0
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値→
0: 送信割込みは禁止されます。
1: 送信割込みは許可されます。
356
←ビット No.
TIER
←ビット No.
TIER
第 21 章 CAN コントローラ
受信完了レジスタ (RCR)
21.6.14
メッセージバッファ (x) への受信メッセージの格納完了時に RCx は "1" になります。
もし受信完了割込み許可レジスタの RIEx が "1" であれば , 割込みが生じます。
■ 受信完了レジスタ (RCR)
受信完了レジスタ (RCR) のビット構成を図 21.6-16 に示します。
図 21.6-16 受信完了レジスタ (RCR)
15
14
13
12
11
10
9
8
アドレス:000079H(CAN0)
000089H(CAN1)
RC15
RC14
RC13
RC12
RC11
RC10
RC9
RC8
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
初期値→
アドレス:000078H(CAN0)
000088H(CAN1)
リード / ライト→
初期値→
RC7
RC6
RC5
RC4
RC3
RC2
RC1
RC0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
←ビット No.
RCR
←ビット No.
RCR
● RCx=0 となる条件
• RCx に "0" を書き込む。
受信メッセージの処理が完了した後で RCx に "0" を書き込んで "0" にセットしてくだ
さい。RCx に "1" を書き込んでも無視されます。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
<注意事項>
受信動作の完了時の "1" への設定および "0" の書込みによるクリアが同時に生じたとき
は , "1" への設定が優先します。
357
第 21 章 CAN コントローラ
リモート要求受信レジスタ (RRTRR)
21.6.15
受信されたリモートフレームがメッセージバッファ (x) 内に格納されると , RRTRx
は (RCx 設定が "1" になると同時に )"1" になります。
■ リモート要求受信レジスタ (RRTRR)
リモート要求受信レジスタ (RRTRR) のビット構成を図 21.6-17 に示します。
図 21.6-17 リモート要求受信レジスタ (RRTRR)
アドレス:00007BH(CAN0)
00008BH(CAN1)
14
13
12
11
10
9
8
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
←ビット No.
RRTR15 RRTR14 RRTR13 RRTR12 RRTR11 RRTR10 RRTR9 RRTR8
RRTRR
リード / ライト→
初期値→
アドレス:00007AH(CAN0)
00008AH(CAN1)
15
RRTR7 RRTR6 RRTR5 RRTR4 RRTR3 RRTR2 RRTR1 RRTR0
リード / ライト→
初期値→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
←ビット No.
RRTRR
● RRTRx=0 となる条件
• RRTRx に "0" を書き込む。
• 受信されたデータフレームがメッセージバッファ (x) に格納された後 (RCx 設定が
"1" になるのと同時 )。
• メッセージバッファ (x) による送信が完了した後 ( 送信完了レジスタ (TCR) の TCx
は "1")。
RRTRx に "1" を書き込んでも無視されます。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
<注意事項>
"1" への設定と "0" の書込みによるクリアが同時に生じたときは , "1" への設定が優先しま
す。
358
第 21 章 CAN コントローラ
受信オーバランレジスタ (ROVRR)
21.6.16
もし , メッセージバッファ (x) 内への受信メッセージの格納完了時に , 受信完了レジ
スタ (RCR) が既に "1" であれば , ROVRx は "1" になり , 受信がオーバランしたこと
を表します。
■ 受信オーバランレジスタ (ROVRR)
受信オーバランレジスタ (ROVRR) のビット構成を図 21.6-18 に示します。
図 21.6-18 受信オーバランレジスタ (ROVRR)
アドレス:00007DH(CAN0)
00008DH(CAN1)
リード / ライト→
初期値→
アドレス:00007CH(CAN0)
00008CH(CAN1)
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
←ビット No.
ROVR15 ROVR14 ROVR13 ROVR12 ROVR11 ROVR10 ROVR9 ROVR8
ROVRR
←ビット No.
ROVR7 ROVR6 ROVR5 ROVR4 ROVR3 ROVR2 ROVR1 ROVR0 ROVRR
ROVRx に "0" を書き込むと ROVRx=0 になります。ROVRx に "1" を書き込んでも無視
されます。受信がオーバランしたことをチェックした後で ROVRx に "0" を書き込むと
"0" にクリアします。
リードモディファイライト系命令が実行されたときは "1" が読み出されます。
<注意事項>
"1" への設定と "0" の書込みによるクリアが同時に生じたときは , "1" への設定が優先しま
す。
359
第 21 章 CAN コントローラ
21.6.17
受信割込み許可レジスタ (RIER)
本レジスタはメッセージバッファ (x) による受信割込みを許可または禁止します。
受信割込みは受信完了時 ( 受信完了レジスタ (RCR) の RCx が "1" であるとき ) に発
生します。
■ 受信割込み許可レジスタ (RIER)
受信割込み許可レジスタ (RIER) のビット構成を図 21.6-19 に示します。
図 21.6-19 受信割込み許可レジスタ (RIER)
アドレス:00007FH(CAN0)
00008FH(CAN1)
15
14
13
12
11
10
RIE15
RIE14
RIE13
RIE12
RIE11
RIE10
RIE9
RIE8
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
7
6
5
4
3
2
1
0
初期値→
9
8
アドレス:00007EH(CAN0)
00008EH(CAN1)
RIE7
RIE6
RIE5
RIE4
RIE3
RIE2
RIE1
RIE0
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
初期値→
0: 受信割込みは禁止されます。
1: 受信割込みは許可されます。
360
←ビット No.
RIER
←ビット No.
RIER
第 21 章 CAN コントローラ
21.6.18
アクセプタンスマスク選択レジスタ (AMSR)
本レジスタは受信メッセージ ID とメッセージバッファ (x)ID の比較に対するマスク
( アクセプタンスマスク ) を選択します。
■ アクセプタンスマスク選択レジスタ (AMSR)
アクセプタンスマスク選択レジスタ (AMSR) のビット構成を図 21.6-20 に示します。
図 21.6-20 アクセプタンスマスク選択レジスタ (AMSR)
7
6
5
4
3
2
1
0
アドレス:003B10H(CAN0)
003D10H(CAN1)
AMS
3.1
AMS
3.0
AMS
2.1
AMS
2.0
AMS
1.1
AMS
1.0
AMS
0.1
AMS
0.0
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
15
14
13
12
11
10
9
8
アドレス:003B11H(CAN0)
003D11H(CAN1)
AMS
7.1
AMS
7.0
AMS
6.1
AMS
6.0
AMS
5.1
AMS
5.0
AMS
4.1
AMS
4.0
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
タイプ 1
初期値→
タイプ 2
初期値→
7
6
5
4
3
2
1
0
アドレス:003B12H(CAN0)
003D12H(CAN1)
AMS
11.1
AMS
11.0
AMS
10.1
AMS
10.0
AMS
9.1
AMS
9.0
AMS
8.1
AMS
8.0
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
タイプ 3
初期値→
15
14
13
12
11
10
9
8
アドレス:003B13H(CAN0)
003D13H(CAN1)
AMS
15.1
AMS
15.0
AMS
14.1
AMS
14.0
AMS
13.1
AMS
13.0
AMS
12.1
AMS
12.0
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
タイプ 4
初期値→
←ビット No.
AMSR
バイト 0
←ビット No.
AMSR
バイト 1
←ビット No.
AMSR
バイト 2
←ビット No.
AMSR
バイト 3
表 21.6-2 アクセプタンスマスクの選択
AMSx.1
AMSx.0
0
0
フルビット比較
0
1
フルビットマスク
1
0
アクセプタンスマスクレジスタ 0(AMR0)
1
1
アクセプタンスマスクレジスタ 1(AMR1)
アクセプタンスマスク
361
第 21 章 CAN コントローラ
<注意事項>
• AMSx.1 および AMSx.0 はメッセージバッファ (x) が無効である ( メッセージバッファ
有効レジスタ (BVALR) の BVALx が "0" である ) ときに設定しなければなりません。バッ
ファが有効 (BVALx = 1) なときに設定を行うと不要な受信メッセージが格納される可
能性があります。
• CAN コントローラが CAN 通信に参加している状態 (CSR: HALT ビットの読出し値が
"0" で , CAN コントローラが CAN バスの通信に参加しており送受信が可能な状態 ) で ,
メッセージバッファを無効 (BVALR: BVAL = 0) にする場合は「21.14
,
CAN コントロー
ラの使用上の注意」に従ってください。
362
第 21 章 CAN コントローラ
21.6.19
アクセプタンスマスクレジスタ 0/1(AMR0/AMR1)
AMR0 および AMR1 の 2 つのアクセプタンスマスクレジスタがありますが , 両者と
もに標準フレームフォーマットまたは拡張フレームフォーマットのいずれかで利用
できます。
AM28 ∼ AM18(11 ビット ) は標準フレームフォーマットにおけるアクセプタンスマ
スクに使用され AM28 ∼ AM0(29 ビット ) は拡張フォーマットでアクセプタンスマ
スクに使用されます。
■ アクセプタンスマスクレジスタ 0/1(AMR0/AMR1)
アクセプタンスマスクレジスタ 0/1(AMR0/AMR1) のビット構成を図 21.6-21 に示しま
す。
図 21.6-21 アクセプタンスマスクレジスタ 0/1(AMR0/AMR1)
アドレス : 003B14H(CAN0)
003D14H(CAN1)
7
6
5
4
3
2
1
0
AM28
AM27
AM26
AM25
AM24
AM23
AM22
AM21
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
初期値→
アドレス : 003B15H(CAN0)
003D15H(CAN1)
15
14
13
12
11
10
9
8
AM20
AM19
AM18
AM17
AM16
AM15
AM14
AM13
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
4
3
2
1
0
初期値→
アドレス : 003B16H(CAN0)
003D16H(CAN1)
7
6
5
AM12
AM11
AM10
AM9
AM8
AM7
AM6
AM5
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
アドレス : 003B17H(CAN0)
003D17H(CAN1)
15
14
13
12
11
10
9
8
AM4
AM3
AM2
AM1
AM0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
─
(-)
─
(-)
─
(-)
(X)
(X)
(X)
(X)
(X)
(-)
(-)
(-)
リード / ライト→
初期値→
アドレス : 003B18H(CAN0)
003D18H(CAN1)
7
6
5
4
3
2
1
0
AM28
AM27
AM26
AM25
AM24
AM23
AM22
AM21
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
アドレス : 003B19H(CAN0)
003D19H(CAN1)
15
14
13
12
11
10
9
8
AM20
AM19
AM18
AM17
AM16
AM15
AM14
AM13
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
初期値→
←ビット No.
AMR0 バイト 0
←ビット No.
AMR0 バイト 1
←ビット No.
AMR0 バイト 2
←ビット No.
AMR0 バイト 3
←ビット No.
AMR1 バイト 0
←ビット No.
AMR1 バイト 1
( 続く )
363
第 21 章 CAN コントローラ
( 続き )
アドレス : 003B1AH(CAN0)
003D1AH(CAN1)
リード / ライト→
7
6
5
AM12 AM11 AM10
4
3
2
1
0
AM9
AM8
AM7
AM6
AM5
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
アドレス : 003B1BH(CAN0)
003D1BH(CAN1)
15
14
13
12
11
10
9
8
AM4
AM3
AM2
AM1
AM0
─
(-)
─
(-)
─
(-)
(-)
(-)
(-)
初期値→
AMR1 バイト 2
(R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W)
初期値→
リード / ライト→
←ビット No.
(R/W) (R/W) (R/W) (R/W) (R/W)
(X)
(X)
(X)
(X)
(X)
←ビット No.
AMR1 バイト 3
● 0: コンペア
本ビットに対応するアクセプタンスコード ( 受信メッセージ ID と比較するための ID
レジスタ IDRx) を受信メッセージ ID のビットと比較します。マッチしなければメッ
セージは受信されません。
● 1: マスク
本ビットに対応するアクセプタンスコード ID レジスタ (IDRx) をマスクします。受信
メッセージ ID のビットとのコンペアは行われません。
<注意事項>
• AMR0 および AMR1 は AMR0 および AMR1 を選択するメッセージバッファ (x) のすべ
てが無効 ( メッセージバッファ有効レジスタ (BVALR) の BVALx が "0") であるときに
設定しなければなりません。バッファが有効 (BVALx = 1) であるときに設定を行うと
不必要な受信メッセージが格納される可能性があります。
• CAN コントローラが CAN 通信に参加している状態 (CSR: HALT ビットの読出し値が
"0" で , CAN コントローラが CAN バスの通信に参加しており , 送受信が可能な状態 )
で , メッセージバッファを無効 (BVALR:BVAL = 0) にする場合は 「
, 21.14 CAN コント
ローラの使用上の注意」に従ってください。
364
第 21 章 CAN コントローラ
メッセージバッファ
21.6.20
メッセージバッファは 16 個あり , 1 つのメッセージバッファ x(x=0 ∼ 15) は ID レジ
スタ (IDRx), DLC レジスタ (DLCRx) およびデータレジスタ (DTRx) から構成されて
います。
■ メッセージバッファ
● メッセージバッファ (x) は送信および受信の両方に使用されます。
● 下位番号のメッセージバッファの方が高い優先順位を割り当てられています。
• 送信時に送信要求が 1 つ以上のメッセージバッファに対してためされたときには最
下位番号のメッセージバッファから開始して送信が行われます (「21.7 CAN コント
ローラの送信」を参照 )。
• 受信時に 1 つ以上のメッセージバッファのアクセプタンスフィルタ ( 受信メッセー
ジのアクセプタンスマスク ID とメッセージバッファとを比較する機構 ) を受信メッ
セージ ID が通過するときに受信メッセージは最下位番号のメッセージバッファ内
に格納されます (「21.9 CAN コントローラの受信フローチャート」を参照 )。
● 同一のアクセプタンスフィルタが 1 つ以上のメッセージバッファ内に設定されたときに
メッセージバッファはマルチレベルメッセージバッファとして使用することができます。
これにより受信時間に対する余裕が与えられます (「21.13 マルチレベルメッセージバッ
ファの構成の決定」を参照 )。
<注意事項>
• メッセージバッファおよび汎用 RAM 領域への書込み動作は , ワード単位でイーブンア
ドレスに対して行わなければなりません。バイト単位で書込み動作を行うと下位バイ
トへの書込み時に上位バイトに不定データを書き込んでしまいます。上位バイトへの
書込みは無視されます。
• メッセージバッファ有効レジスタ (BVALR) の BVALx ビットが "0"( 無効 ) であるとき
にメッセージバッファx (IDRx, DLCRx および DTRx) は汎用 RAM として使用すること
ができます。ただし , CAN コントローラが送受信動作中は , メッセージバッファを使
用しますので , CPU アクセスが最大で 64 マシンサイクル待たされることがあります。
これは汎用 RAM 領域 ( アドレス 003A00H ∼ 003C1FH およびアドレス 003D00H ∼
003D1FH) についても同様です。
365
第 21 章 CAN コントローラ
21.6.21
ID レジスタ x(x=0 ∼ 15)(IDRx)
ID レジスタ x(x=0 ∼ 15)(IDRx) は , メッセージバッファ (x) に対する ID レジスタで
す。
■ ID レジスタ x(x=0 ∼ 15)(IDRx)
ID レジスタ x(x=0 ∼ 15)(IDRx) のビット構成を図 21.6-22 に示します。
図 21.6-22 ID レジスタ x(x=0 ∼ 15)(IDRx)
アドレス:
003A20H+4x(CAN0)
003C20H+4x(CAN1)
7
6
5
4
3
2
1
0
ID28
ID27
ID26
ID25
ID24
ID23
ID22
ID21
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
アドレス:
003A21H+4x(CAN0)
003C21H+4x(CAN1)
15
14
13
12
11
10
9
8
ID20
ID19
ID18
ID17
ID16
ID15
ID14
ID13
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
初期値→
アドレス:
003A22H+4x(CAN0)
003C22H+4x(CAN1)
7
6
5
4
3
2
1
0
ID12
ID11
ID10
ID9
ID8
ID7
ID6
ID5
リード / ライト→
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
アドレス:
003A23H+4x(CAN0)
003C23H+4x(CAN1)
15
14
13
12
11
10
9
8
ID4
ID3
ID2
ID1
ID0
─
─
─
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(-)
(-)
(-)
(X)
(X)
(X)
(X)
(X)
(-)
(-)
(-)
リード / ライト→
初期値→
←ビット No.
IDRx
バイト 0
←ビット No.
IDRx
バイト 1
←ビット No.
IDRx
バイト 2
←ビット No.
IDRx
バイト 3
標準フレームフォーマット (IDE レジスタ (IDER) の IDEx = 0) でメッセージバッファ(x)
を使用しているときは ID28 ∼ ID18 の 11 ビットを使用してください。拡張フレーム
フォーマット (IDEx = 1) でバッファを使用しているときは ID28 ∼ ID0 の 29 ビットを
使用してください。
ID28 ∼ ID0 の機能は次のとおりです。
• アクセプタンスコード設定
受信メッセージ ID との比較用の ID
• 送信メッセージ ID の設定
• 受信メッセージ ID の格納
366
第 21 章 CAN コントローラ
<注意事項>
• 標準フレームフォーマットでは ID28 ∼ ID22 のビットのすべてに "1" をセットするこ
とは禁止されています。
• 受信メッセージ ID はアクセプタンスマスクでマスクされているビットにも格納されま
す。標準フレームフォーマットでは ID17 ∼ ID0 は不定値 ( 受信シフトレジスタに残さ
れている前回受信したメッセージの一部 ) が格納されます。
• ID レジスタ x(x = 0 ∼ 15)(IDRx) への書込み動作はワード単位で行わなければなりませ
ん。バイト単位で書込み動作を行うと下位バイトへの書込み時に上位バイトに不定
データを書き込んでしまいます。上位バイトへの書込みは無視されます。
• 本レジスタはメッセージバッファ(x) が無効 ( メッセージバッファ有効レジスタ (BVALR)
の BVALx が "0") であるときに設定されなければなりません。バッファが有効 ((BVALx =
1) であるときに設定を行うと不必要な受信メッセージが格納されてしまいます。
• CAN コントローラが CAN 通信に参加している状態 (CSR: HALT ビットの読出し値が
"0" で , CAN コントローラが CAN バスの通信に参加しており送受信が可能な状態 ) で ,
メッセージバッファを無効 (BVALR: BVAL = 0) にする場合は「21.14
,
CAN コントロー
ラの使用上の注意」に従ってください。
367
第 21 章 CAN コントローラ
DLC レジスタ x(x=0 ∼ 15)(DLCRx)
21.6.22
これはメッセージバッファ x に対する DLC を格納します。
■ DLC レジスタ x(x = 0 ∼ 15)(DLCRx)
DLC レジスタ x(x = 0 ∼ 15)(DLCRx) のビット構成を図 21.6-23 に示します。
図 21.6-23 DLC レジスタ x(x=0 ∼ 15)(DLCRx)
アドレス:
003A60H+2x(CAN0)
003C60H+2x(CAN1)
7
6
5
4
3
2
1
0
−
−
−
−
DLC3
DLC2
DLC1
DLC0
DLCRx
リード / ライト→
(-)
(-)
(-)
(-)
(R/W)
(R/W)
(R/W)
(R/W)
バイト 0
初期値→
(-)
(-)
(-)
(-)
(X)
(X)
(X)
(X)
←ビット No.
● 送信
• データフレームが送信する ( 送信 RTR レジスタ (TRTRR) の TRTRx が "0") ときに送
信メッセージのデータ長 ( バイト単位 ) を設定します。
• リモートフレームが送信する (TRTRx = 1) ときに要求メッセージのデータ長 ( バイ
ト単位 ) を設定します。
<注意事項>
0000B ∼ 1000B(0 ∼ 8 バイト ) 以外の設定は禁止されています。
● 受信
• データフレームが受信された ( リモートフレーム要求受信レジスタ (RRTRR) の
RRTRx が "0") ときに受信メッセージのデータ長 ( バイト単位 ) を格納します。
• リモートフレームが受信された (RRTRx = 1) ときに要求メッセージのデータ長 ( バ
イト単位 ) を格納します。
<注意事項>
本レジスタへの書込み動作はワード単位で行わなければなりません。バイト単位で書込み
動作を行うと下位バイトへの書込み時に上位バイトに不定データを書き込んでしまいま
す。上位バイトへの書込みは無視されます。
368
第 21 章 CAN コントローラ
21.6.23
データレジスタ x(x=0 ∼ 15)(DTRx)
データレジスタ x(x = 0 ∼ 15) (DTRx) は , メッセージバッファ (x) に対するデータレ
ジスタです。
本レジスタはデータフレームの送信および受信のみ使用されるものであり , リモート
フレームの送信および受信には使用されません。
■ データレジスタ x(x = 0 ∼ 15) (DTRx)
データレジスタ x(x = 0 ∼ 15) (DTRx) のビット構成を図 21.6-24 に示します。
図 21.6-24 データレジスタ x(x=0 ∼ 15)(DTRx)
アドレス:
003A80H+8x(CAN0)
003C80H+8x(CAN1)
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
アドレス:
003A81H+8x(CAN0)
003C81H+8x(CAN1)
15
14
13
12
11
10
9
8
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
アドレス:
003A83H+8x(CAN0)
003C83H+8x(CAN1)
15
14
13
12
11
10
9
8
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
アドレス:
003A85H+8x(CAN0)
003C85H+8x(CAN1)
15
14
13
12
11
10
9
8
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
リード / ライト→
リード / ライト→
初期値→
アドレス:
003A82H+8x(CAN0)
003C82H+8x(CAN1)
リード / ライト→
リード / ライト→
初期値→
アドレス:
003A84H+8x(CAN0)
003C84H+8x(CAN1)
リード / ライト→
リード / ライト→
初期値→
←ビット No.
DTRx
バイト 0
←ビット No.
DTRx
バイト 1
←ビット No.
DTRx
バイト 2
←ビット No.
DTRx
バイト 3
←ビット No.
DTRx
バイト 4
←ビット No.
DTRx
バイト 5
( 続く )
369
第 21 章 CAN コントローラ
( 続き )
アドレス:
003A86H+8x(CAN0)
003C86H+8x(CAN1)
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
初期値→
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
アドレス:
003A87H+8x(CAN0)
003C87H+8x(CAN1)
15
14
13
12
11
10
9
8
D7
D6
D5
D4
D3
D2
D1
D0
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(R/W)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
(X)
リード / ライト→
リード / ライト→
初期値→
←ビット No.
DTRx
バイト 6
←ビット No.
DTRx
バイト 7
● 送信メッセージデータ (0 ∼ 8 バイトのいずれか ) の設定
データは MSB で開始して BYTE0, BYTE1, ... BYTE7 の順で送信されます。
● 受信メッセージデータ
データは MSB で開始して BYTE0, BYTE1, ... BYTE7 の順で格納されます。
受信メッセージデータが 8 バイトより少なくてもデータが格納されるデータレジスタ
(DTRx) の残りのバイトは不定となります。
<注意事項>
本レジスタへの書込み動作はワード単位で行わなければなりません。バイト単位で書込み
動作を行うと下位バイトへの書込み時に上位バイトに不定データを書き込んでしまいま
す。上位バイトへの書込みは無視されます。
370
第 21 章 CAN コントローラ
21.7
CAN コントローラの送信
CAN コントローラでは , 送信要求レジスタ (TREQR) の TREQx に "1" が書き込まれ
たときにメッセージバッファ (x) による送信が開始します。このときに TREQx は
"1" になり , 送信完了レジスタ (TCR) の TCx は "0" になります。
■ CAN コントローラの送信の開始
リモートフレーム受信待機レジスタ (RFWTR) の RFWTx が "0" であれば送信は直ちに
開始します。もし RFWTx が "1" であれば , リモートフレームが受信される ( リモート
要求受信レジスタ(RRTRR)のRRTRxが"1"になる)まで待機した後に送信が開始します。
もし送信に対する要求が 1 つ以上のメッセージバッファに対してためされた (1 つ以上
の TREQx が "1") ときには , 最下位番号のメッセージバッファから開始して送信が行わ
れます。
CAN バスに対するメッセージ送信 ( 送信出力端子 TX によるもの ) はバスがアイドル
のときに開始します。
送信 RTR レジスタ (TRTRR) の TRTRx が "0" であれば , データフレームが送信されま
す。もし TRTRx が "1" であれば , リモートフレームが送信されます。
送信に関してメッセージバッファが CAN バス上のほかの CAN コントローラと競合し
てアービトレーションが不調に終わった場合または送信中にエラーが生じた場合,メッ
セージバッファはバスがアイドルとなるまで待機しそれが成功するまで再送信を反復
します。
■ CAN コントローラの送信要求の解除
● 送信解除レジスタ (TCANR) による解除
送信待ち状態中に送信を実行しなかったメッセージバッファ(x) に対する送信要求は送
信解除レジスタ (TCANR) の TCANx に "1" を書き込むことにより解除することができ
ます。解除の完了時に TREQx は "0" になります。
● 受信メッセージの格納による解除
送信要求にもかかわらず送信を実行しなかったメッセージバッファ(x) も受信を行いま
す。
データフレームの送信に対する要求にもかかわらずメッセージバッファ(x) が送信を実
行していなかった場合 (TRTRx = 0 または TREQx = 1) でも , アクセプタンスフィルタを
通過した受信データフレームを格納した後には , 送信要求が解除されます (TREQx=0)。
<注意事項>
リモートフレームを格納することでは送信要求は解除されません (TREQx = 1 はそのまま
です )。
リモートフレームの送信に対する要求にもかかわらずメッセージバッファ (x) が送信を
実行していなかった場合 (TRTRx = 1 または TREQx = 1) でも , アクセプタンスフィルタを
通過した受信リモートフレームを格納した後には,送信要求が解除されます(TREQx = 0)。
371
第 21 章 CAN コントローラ
<注意事項>
データフレームまたはリモートフレームのいずれを格納しても , 送信要求は解除されま
す。
■ CAN コントローラの送信の完了
送信が成功したときに RRTRx は "0" になり TREQx は "0" になり送信完了レジスタ
(TCR) の TCx は "1" になります。もし送信完了割込みが許可されていれば ( 送信完了
割込み許可レジスタ (TIER) の TIEx は "1") 割込みが生じます。
■ CAN コントローラの送信フローチャート
図 21.7-1 に , CAN コントローラの送信フローチャートを示します。
図 21.7-1 CAN コントローラの送信フローチャート
送信要求
(TREQx:= 1)
TCx:= 0
0
TREQx?
1
0
RFWTx?
1
0
RRTRx?
1
上記条件を満足する他のメッセージ
バッファがある場合,その中で最下
位番号メッセージバッファを選択
NO
バスは使用され
ていないか?
YES
0
1
TRTRx?
データフレームが送信される
リモートフレームが送信される
NO
送信は成功したか?
YES
TCANx?
RRTRx := 0
TREQx := 0
TCx
:= 1
TIEx?
1
TREQx:= 0
1
0
送信完了割込みが発生
送信の終了
372
0
第 21 章 CAN コントローラ
21.8
CAN コントローラの受信
CAN バス上でデータフレームまたはリモートフレームの開始 (SOF) が検出されたと
きに受信は開始します。
■ アクセプタンスフィルタリング
標準フレームフォーマットの受信メッセージは,標準フレームフォーマットに設定され
たメッセージバッファ (x) (IDE レジスタ (IDER) の IDEx は "0") と比較されます。拡張
フレームフォーマットの受信メッセージは , 拡張フレームフォーマットに設定された
メッセージバッファ (x) (IDEx は "1") と比較されます。
もし受信メッセージ ID とアクセプタンスコード ( 受信メッセージ ID との比較のため
の ID レジスタ (IDRx)) との比較の後にアクセプタンスマスクにより比較すべきビット
セットのすべてが一致すれば受信メッセージはメッセージバッファ(x) のアクセプタン
スフィルタを通過します。
■ 受信メッセージの格納
受信動作が成功したときに受信メッセージはアクセプタンスフィルタを通過した ID を
含めメッセージバッファ (x) に格納されます。
データフレームを受信したときに受信メッセージは ID レジスタ (IDRx), DLC レジスタ
(DLCRx) およびデータレジスタ (DTRx) に格納されます。
受信メッセージデータが 8 バイトより少なくてもデータは DTRx の残りのバイトに格
納されその値は不定となります。
リモートフレームを受信したときに受信メッセージは IDRx および DLCRx のみに格納
されて DTRx はそのままです。
もしアクセプタンスフィルタを通過した ID を含む 1 つ以上のメッセージバッファがあ
れば受信メッセージが格納されるべきメッセージバッファ x は次の規則により決定さ
れます。
• メッセージバッファx(x=0 ∼ 15) の優先順位はその番号が低いほど高くなります。す
なわちメッセージバッファ 0 が最高の優先度を与えられメッセージバッファ 15 は
最低の優先度が与えられます。
• 受信メッセージを格納する上では基本的に受信完了レジスタ (RCR) の RCx ビット
が "0" に設定されたメッセージバッファが優先されます。
• もしアクセプタンスマスク選択レジスタ (AMSR) の各ビットが全ビット比較
(AMSx.1 および AMSx.0 ビットが "00" に設定されたメッセージバッファ ) に設定さ
れていれば RCR の RCx ビットの値にかかわらず受信メッセージは格納されます。
• もし RCR の RCx ビットが "0" で , かつ AMSR のビットが全ビット比較に設定され
ているバッファが複数ある場合 , 受信メッセージは最下位番号 ( 最優先 ) のメッセー
ジバッファ x に格納されます。
• もし上記条件に合致するメッセージバッファが無ければ , 受信メッセージはアクセ
プタンスフィルタを通過した ID を持つ最下位番号のメッセージバッファに格納さ
れ , オーバランが発生 (ROVRR: ROVRx = 1) します。
373
第 21 章 CAN コントローラ
図 21.8-1 には , 受信メッセージを格納すべきメッセージバッファ x を決定するための
フローチャートが示されています。メッセージバッファはバッファ番号順に , AMSR の
各ビットが全ビット比較にセットされたメッセージバッファ , AMR0 または AMR1 を
使用しているメッセージバッファおよび AMSR の各ビットが全ビットマスクにセット
されたメッセージバッファの順番に設定されることを推奨します。
図 21.8-1 受信メッセージを格納するメッセージバッファ (x) を決定するフローチャート
開始
RCxが"0"にセットされているか,AMSx.1
およびAMSx.0が"00B"にセットされている
メッセージバッファがみつかるか?
YES
最下位番号のメッセージ
バッファを選択
NO
最下位番号のメッセージ
バッファを選択
終了
■ 受信オーバラン
受信メッセージが格納されるべきメッセージバッファ x に対応する受信完了レジスタ
(RCR) の RCx ビットが既に "1" にセットされていてメッセージバッファ x の受信メッ
セージの格納が完了したときに受信オーバランレジスタ (ROVRR) の ROVRx ビットは
"1" にセットされて受信オーバランを示します。
■ データフレームおよびリモートフレームの受信に対する処理
● データフレームの受信に対する処理
リモート要求受信レジスタ (RRTRR) の RRTRx は "0" になります。
送信要求レジスタ (TREQR) の TREQx は ( 受信メッセージを格納する直前に ) "0" にな
ります。送信を実行しなかったメッセージバッファ (x) に対する送信要求は解除されま
す。
<注意事項>
データフレームまたはリモートフレームのいずれの送信に対する要求も解除されます。
374
第 21 章 CAN コントローラ
● リモートフレームの受信に対する処理
RRTRx は "1" になります。
もし送信 RTR レジスタ (TRTRR) の TRTRx が "1" であれば TREQx は "0" になります。
この結果,送信を実行しなかったメッセージバッファへのリモートフレームの送信に対
する要求は解除されます。
<注意事項>
• データフレーム送信に対する要求は解除されません。
• 送信要求の解除に関しては「21.7 CAN コントローラの送信」を参照してください。
■ 受信完了
受信完了レジスタ (RCR) の RCx は受信メッセージを格納した後に "1" になります。
もし受信割込みが許可されていれば ( 受信割込み許可レジスタ (RIER) の RIEx が "1")
割込みが生じます。
<注意事項>
この CAN コントローラはそれ自身が送信したメッセージを受信することはありません。
375
第 21 章 CAN コントローラ
21.9
CAN コントローラの受信フローチャート
図 21.9-1 に , CAN コントローラの受信フローチャートを示します。
■ CAN コントローラの受信フローチャート
図 21.9-1 CAN コントローラの受信フローチャート
データフレームまたはリモート
フレームの開始(SOF)の検出
アクセプタンス
フィルタをパスするメッセージバッファ
"x"はあるか?
NO
YES
NO
受信は成功したか?
YES
受信メッセージを格納するメッセージ
バッファ"x"を決定
受信メッセージをメッセージ
バッファ"x"に格納
1
RCx?
0
データフレーム
ROVRx:= 1
リモートフレーム
受信メッセージは?
RRTRx:= 0
RRTRx:= 1
1
TRTRx?
0
TREQx:= 0
RCx:= 1
RIEx?
0
受信の終了
376
1
受信割込みが発生
第 21 章 CAN コントローラ
21.10
CAN コントローラの使用方法
CAN コントローラでは , 次のような設定が必要です。
• ビットタイミングの設定
• フレームフォーマットの設定
• ID の設定
• アクセプタンスフィルタの設定
• 低消費電力モードの設定
■ ビットタイミングの設定
ビットタイミングレジスタ (BTR) はバス動作停止 ( 制御ステータスレジスタ (CSR) の
バス動作停止ビット (HALT) が "1") の間に設定しなければなりません。
設定完了の後に HALT に "0" を書き込んでバス動作停止を解除してください。
■ フレームフォーマットの設定
メッセージバッファ (x) により使用されるフレームフォーマットを設定してください。
標準フレームフォーマットを使用するときには IDE レジスタ (IDER) の IDEx を "0" に
設定してください。拡張フレームフォーマットを使用するときには IDEx を "1" に設定
してください。
この設定はメッセージバッファ(x) が無効 ( メッセージバッファ有効レジスタ (BVALR)
の BVALx が "0") であるときに行わなければなりません。バッファが有効 (BVALx = 1)
のときに設定を行うと不必要な受信メッセージが格納される可能性があります。
■ ID の設定
メッセージバッファ (x) の ID を ID レジスタ (IDRx) の ID28 ∼ ID0 に設定してくださ
い。メッセージバッファ (x) の ID は標準フレームフォーマットでは ID17 ∼ ID0 に設
定する必要はありません。メッセージバッファ (x) の ID は送信では送信メッセージと
して使用され受信ではアクセプタンスコードとして使用されます。
この設定はメッセージバッファ(x) が無効 ( メッセージバッファ有効レジスタ (BVALR)
の BVALx が "0") であるときに行わなければなりません。バッファが有効 (BVALx = 1)
のときに設定を行うと不必要な受信メッセージが格納される可能性があります。
377
第 21 章 CAN コントローラ
■ アクセプタンスフィルタの設定
メッセージバッファ(x) のアクセプタンスフィルタはアクセプタンスコードおよびアク
セプタンスマスク設定により設定されます。それはアクセプタンスメッセージバッ
ファ (x) が無効 ( メッセージバッファ許可レジスタ (BVALR) の BVALx が "0") である
ときに設定しなければなりません。バッファが有効 (BVALx = 1) であるときに設定を
行うと不必要な受信メッセージが格納される可能性があります。
各メッセージバッファ(x) で使用されたアクセプタンスマスクをアクセプタンスマスク
選択レジスタ(AMSR)により設定してください。アクセプタンスマスクレジスタ(AMR0
および AMR1) も使用するのであれば設定しなければなりません ( 設定の詳細に関して
は「21.6.18 アクセプタンスマスク選択レジスタ (AMSR)」および「21.6.19 アクセプタ
ンスマスクレジスタ 0/1(AMR0/AMR1)」を参照 )。
アクセプタンスマスクは不必要な受信メッセージが格納されたときでも送信要求が解
除されないように設定しなければなりません。例えば,送信 ID と同一の ID のメッセー
ジのみを受信するのであればフルビット比較に設定しなければなりません。
■ 低電力モードの設定
F2MC-16LX を低電力モード ( 停止 , 時計 , ハードウェアスタンバイなど ) に設定するに
は , 制御ステータスレジスタ (CSR) のバス動作停止ビット (HALT) に "1" を書き込んで
からバス動作が停止したかどうか (HALT = 1) をチェックしてください。
378
第 21 章 CAN コントローラ
21.11
メッセージバッファ (x) による送信方法
ビットタイミングの設定 , フレームフォーマットの設定 , ID の設定およびアクセプ
タンスフィルタの設定が完了した後で , BVALx を "1" に設定してメッセージバッ
ファ (x) を有効にしてください。
■ メッセージバッファ (x) による送信方法
● 送信データ長コードの設定
送信データ長コード ( バイト単位 ) を DLC レジスタ (DLCRx) の DLC3 ∼ DLC0 に設定
してください。
データフレーム送信 ( 送信 RTR レジスタ (TRTRR) の TRTRx が "0" のとき ) に対して
は送信メッセージのデータ長を設定してください。
リモートフレーム送信 (TRTRx = 1 のとき ) に対しては要求メッセージのデータ長 ( バ
イト単位 ) を設定してください。
<注意事項>
"0000B" ∼ "1000B"(0 ∼ 8 バイト ) 以外の設定は禁止されています。
● 送信データの設定 ( データフレームの送信に対してのみ )
データフレーム送信 ( 送信レジスタ (TRTRR) の TRTRx が "0" のとき ) に対してはデー
タを送信バイト数分データレジスタ (DTRx) に設定してください。
<注意事項>
送信データは送信要求レジスタ (TREQR) の TREQx ビットを "0" に設定して再書込みし
なければなりません。メッセージバッファ有効レジスタ (BVALR) の BVALx ビットを "0"
に設定する必要はありません。BVALx ビットを "0" に設定するとリモートフレーム受信を
喪失する可能性があります。
● 送信 RTR レジスタの設定
データフレーム送信に対しては送信 RTR レジスタ (TRTRR) の TRTRx を "0" に設定し
てください。
リモートフレーム送信に対しては TRTRx を "1" に設定してください。
379
第 21 章 CAN コントローラ
● 送信開始条件の設定 ( データフレームの送信のみ )
データフレーム送信に対する要求が設定された直後に送信を開始するためには,リモー
トフレーム受信待機レジスタ (RFWTR) の RFWTx を "0" に設定してください ( 送信要
求レジスタ (TREQR) の TREQx は "1" であり送信 RTR レジスタ (TRTRR) の TRTRx は
"0" です )。
データフレーム送信に対する要求が設定された (TREQx = 1 および TRTRx = 0) 後にリ
モートフレームを受信する ( リモート要求受信レジスタ (RRTRR) の RRTRx が "1" にな
る ) まで待機した後に送信を開始するためには , RFWTx を "1" に設定してください。
<注意事項>
RFWTx が "1" に設定されるとリモートフレーム送信を行うことはできません。
● 送信完了割込みの設定
送信完了割込みを発生する場合には送信完了割込み許可レジスタ (TIER) の TIEx を "1"
に設定してください。送信完了割込みを発生しない場合には TIEx を "0" に設定してく
ださい。
● 送信要求の設定
送信要求を行うには送信要求レジスタ (TREQR) の TREQx を "1" に設定してください。
● 送信要求の解除
メッセージバッファ(x) に対する送信の要求を解除するときには送信キャンセルレジス
タ (TCANR) の TCANx に "1" を書き込んでください。
TREQx をチェックしてください。TREQx = 0 の場合には送信解除が終了したか送信が
完了しています。送信完了レジスタ (TCR) の TCx をチェックしてください。TCx = 0
の場合には送信解除は終了しています。TCx = 1 ならば送信が完了しています。
● 送信完了の処理
送信が成功すれば送信完了レジスタ (TCR) の TCx は "1" になります。
もし送信完了割込みが許可されていれば ( 送信完了割込み許可レジスタ (TIER) の TIEx
が 1) 割込みが生じます。
送信完了をチェックした後に TCx に "0" を書き込んでクリアしてください。これによ
り送信完了割込みが解除されます。
次の場合には待ち状態中の送信要求はメッセージの受信および格納により解除されま
す。
• データフレームの受信によるデータフレーム送信の要求
• データフレームの受信によるリモートフレーム送信の要求
• リモートフレームの受信によるリモートフレーム送信の要求
データフレーム送信に対する要求はリモートフレームの受信および格納によっては解
除されません。ただし ID および DLC は受信したリモートフレームの ID および DLC
により変更されます。送信されるべきデータフレームの ID および DLC が受信したリ
モートフレームの値になることに注意してください。
380
第 21 章 CAN コントローラ
21.12
メッセージバッファ (x) による受信方法
ビットタイミングの設定 , フレームフォーマットの設定 , ID の設定およびアクセプ
タンスフィルタの設定の後で , 以下の設定をしてください。
■ メッセージバッファ (x) による受信方法
● 受信割込み設定
受信割込みを許可するには受信割込み許可レジスタ (RIER) の RIEx を "1" に設定して
ください。
受信割込みを禁止するには RIEx を "0" に設定してください。
● 受信開始
設定の後で受信を開始するときにはメッセージバッファ有効レジスタ (BVALR) の
BVALx を "1" に設定してメッセージバッファ (x) を有効にしてください。
● 受信完了の処理
アクセプタンスフィルタへの通過後に受信が成功すれば , 受信メッセージはメッセー
ジバッファ (x) に格納されて , 受信完了レジスタ (RCR) の RCx は "1" になります。デー
タフレーム受信に関してはリモート要求受信レジスタ (RRTRR) の RRTRx は "0" にな
ります。リモートフレーム受信に関しては , RRTRx は "1" になります。
もし , 受信割込みが許可 ( 受信割込み許可レジスタ (RIER) の RIEx が "1") されれば割
込みが生じます。
受信完了をチェックした後 (RCx=1) で受信メッセージを処理してください。
受信メッセージの処理を完了した後は受信オーバランレジスタ (ROVRR) の ROVRx を
チェックしてください。
ROVRx = 0 ならば処理された受信メッセージは有効です。CRx に "0" を書き込んでそ
れを "0" に設定して ( 受信完了割込みも解除されます ) 受信を終了します。
ROVRx=1 ならば受信オーバランが生じ , 処理された受信メッセージに新たな受信メッ
セージが上書きされている可能性があります。この場合には ROVRx ビットに "0" を書
き込んでそれを "0" に設定した後で受信メッセージを再処理しなければなりません。
図 21.12-1 に , 受信割込み処理の一例を示します。
381
第 21 章 CAN コントローラ
図 21.12-1 受信割込み処理の例
RCx=1で割込み
受信メッセージ読取り
A := ROVRx
ROVRx := 0
A = 0?
YES
RCx := 0
終了
382
NO
第 21 章 CAN コントローラ
21.13
マルチレベルメッセージバッファの構成の決定
もし受信が頻繁に行われる場合または不特定多数のメッセージを受信するのであれ
ば , すなわちメッセージを処理する時間が不十分であれば , 1 つ以上のメッセージ
バッファを組み合せてマルチレベルメッセージバッファとすることにより CPU によ
る受信メッセージの処理に対する余裕を与えてください。
■ マルチレベルメッセージバッファの構成の決定
マルチレベルメッセージバッファを用意するには組み合せられた各メッセージバッ
ファに同じアクセプタンスフィルタを設定しなければなりません。
も し , アク セ プタ ンス マ スク 選択 レ ジス タ (AMSR) の 各ビ ット が 全ビ ット 比 較
((AMSx.1, AMSx.0) = (0, 0)) に設定されていればメッセージバッファをマルチレベル
メッセージ構成とすることはできません。これは , 全ビット比較では受信完了レジスタ
(RCR) の RCx ビットの値にかかわらず受信メッセージが格納されることから , 1 つ以上
のメッセージバッファに対して全ビット比較および同一アクセプタンスコード (ID レ
ジスタ (IDRx)) が指定されたとしても , 受信メッセージが常に下位番号の ( 優先度の低
い ) メッセージバッファに格納されるからです。このため , 全ビット比較および同一ア
クセプタンスコードを 1 つ以上のメッセージバッファに指定してはなりません。
図 21.13-1 は , マルチレベルメッセージバッファの動作例を示しています。
383
第 21 章 CAN コントローラ
図 21.13-1 マルチレベルメッセージバッファの動作例
:初期化
AMS15, AMS14, AMS13
AMSR
10 10 10
...
AM28~AM18
AMR0選択
AMS0
ID28~ID18
0000 1111
1111 111
111
0000
RC15, RC14, RC13
IDE
...
メッセージバッファ 13
0101 0000 000
0
...
メッセージバッファ 14
0101 0000 000
0
...
メッセージバッファ 15
0101 0000 000
RCR
ROVRR
0
0
0
...
0
0
0
...
ROVR15, ROVR14, ROVR13
マスク
メッセージ受信中:受信メッセージはメッセージバッファ13に格納されます。
IDE
ID28~ID18
メッセージ受信中
0101 1111 000
0
...
メッセージバッファ 13
0101 1111 000
0
...
RCR
0
0
1
...
メッセージバッファ 14
0101 0000 000
0
...
ROVRR
0
0
0
...
メッセージバッファ 15
0101 0000 000
0
...
メッセージ受信中:受信メッセージはメッセージバッファ14に格納されます。
メッセージ受信中
0101 1111 001
0
...
メッセージバッファ 13
0101 1111 000
0
...
RCR
0
1
1
...
メッセージバッファ 14
0101 1111 001
0
...
ROVRR
0
0
0
...
メッセージバッファ 15
0101 0000 000
0
...
メッセージ受信中:受信メッセージはメッセージバッファ15に格納されます。
メッセージ受信中
0101 1111 010
0
...
メッセージバッファ 13
0101 1111 000
0
...
RCR
1
1
1
...
メッセージバッファ 14
0101 1111 001
0
...
ROVRR
0
0
0
...
0
...
メッセージバッファ 15
0101 1111 010
メッセージ受信中:オーバランが発生した場合(ROVR=13),受信メッセージはメッセージバッファ13に
格納されます。
メッセージ受信中
0101 1111 011
0
...
メッセージバッファ 13
0101 1111 011
0
...
RCR
1
1
1
...
メッセージバッファ 14
0101 1111 001
0
...
ROVRR
0
0
1
...
メッセージバッファ 15
0101 1111 010
0
...
<注意事項>
4 個のメッセージが同一のアクセプタンスフィルタ設定によりメッセージバッファ 13, 14
および 15 に受信されます。
384
第 21 章 CAN コントローラ
21.14
CAN コントローラの使用上の注意
CAN コントローラを使用する場合は , 以下の点に注意してください。
■ BVAL ビットによるメッセージバッファ禁止時の注意
メッセージバッファの内容の読出しや書込みの処理を行うために BVAL ビットを用い
てメッセージバッファを禁止すると , CAN コントローラの送受信が正常に行われない
可能性があります。本注意事項は , この現象を回避する方法を説明しています。
● 発生条件
以下の 2 つの条件を同時に満たす場合に , CAN コントローラの送受信が正常に行われ
ない可能性があります。
• CAN コントローラが CAN 通信に参加している状態 , つまり HALT ビットの読出し
値が "0" で , CAN コントローラが CAN バスの通信に参加しており送受信が可能な
状態。
• BVAL ビットの設定でメッセージバッファを禁止して , メッセージバッファの内容
へ読出しや書込みの処理を行う。
● 処置
受信メッセージバッファの構成を変更する場合の操作
CAN 通信が確立されている間 (HALT ビットの読出し値が "0" で , CAN コントローラが CAN
バスの通信に参加しており送受信が可能な状態 ) で , D レジスタや AMS レジスタ , AMR0/
AMR1 レジスタの設定変更により , メッセージバッファの構成の変更を行う場合は , 以下の
いずれかの手段を使用してください。
• HALT ビットの使用
HALT ビットに "1" を書き込み , その後このビットが "1" になったことを確認した
後 ID/AMS/AMR0/AMR1 レジスタの設定を変更してください。
• メッセージバッファ 0 を使用しない
メッセージバッファ0 を送信にも受信にも使用しないでください。すなわち , メッ
セージバッファを禁止し (BVAL0 = 0), 受信割込みを禁止 (RIE0 = 0), 送信要求を行
わない (TREQ0 = 0) でください。
受信メッセージの処理を行う場合の操作
次にくるメッセージによる上書き動作の防止のために, BVALビットによる受信禁止を
行わないでください。メッセージの上書き有無の確認は , ROVR ビットを用いてくだ
さい。詳細は ,「21.6.16 受信オーバランレジスタ (ROVRR)」および「21.12 メッセー
ジバッファ (x) による受信方法」を参照してください。
送信要求の抑止をする場合の操作
送信要求を抑止ないし中止する場合は , BVAL ビットを使用せず , TCAN ビットを用い
てください。
385
第 21 章 CAN コントローラ
送信メッセージを構成する場合の操作
送信メッセージの構成を行うために , ID レジスタや IDE レジスタの設定を行う場合 , BVAL
ビットを使用してメッセージバッファを禁止してください。この際 , 送信要求ビットを読み
出して "0" であること (TREQ = 0) を確認するか , 送信完了ビットにより送信が完了したこと
(TC = 1) を確認した後で , BVAL ビットによる禁止処理 (BVAL = 0) を行ってください。
386
第 22 章
アドレス一致検出機能
アドレス一致検出の機能と動作について説明しま
す。
22.1 アドレス一致検出機能の概要
22.2 アドレス一致検出機能のレジスタ
22.3 アドレス一致検出機能の動作
22.4 アドレス一致検出機能の使用例
387
第 22 章 アドレス一致検出機能
22.1
アドレス一致検出機能の概要
アドレスが , アドレス検出レジスタに設定された値と等しい場合に , CPU に読み込ま
れる命令コードを強制的に INT9 命令のコード (01H) に置き換えます。その結果 , CPU
が設定された命令を実行するときに , INT9 命令を実行します。INT9 割込みルーチンで
処理を行うことにより , アドレス一致検出機能を実現することができます。
アドレス検出レジスタは 2 本用意されており , 各レジスタにコンペア許可ビットが
あります。アドレス検出レジスタに設定された値とアドレスが一致して , かつ割込み
許可ビットが "1" の場合 , CPU に読み込まれる命令コードを強制的に INT9 命令の
コードに置き換えます。
■ アドレス一致検出機能のブロックダイヤグラム
図 22.1-1 アドレス一致検出機能のブロックダイヤグラム
アドレス検出レジスタ
許可ビット
F2MC-16LXバス
388
比較
アドレスラッチ
INT9
命令
F2MC-16LX
CPUコア
第 22 章 アドレス一致検出機能
22.2
アドレス一致検出機能のレジスタ
アドレス一致検出機能には , 次の 2 種類のレジスタがあります。
• プログラムアドレス検出レジスタ 0/1 (PADR0/PADR1)
• プログラムアドレス検出制御ステータスレジスタ (PACSR)
■ プログラムアドレス検出レジスタ 0/1 (PADR0/PADR1)
プログラムアドレス検出レジスタ 0/1 (PADR0/PADR1:Program Address Detect Register
0/1) は , 各レジスタに書き込まれた値と , アドレスを比較します。一致した場合は ,
PACSR の対応する割込み許可ビットが "1" の場合 , CPU に対して INT9 命令の発生を
要求します。
対応する割込み許可ビットが "0" の場合は , 一致していても何も行いません。
プログラムアドレス検出レジスタ 0/1(PADR0/PADR1) のビット構成を図 22.2-1 に示し
ます。
図 22.2-1 プログラムアドレス検出レジスタ 0/1 (PADR0/PADR1)
アドレス:
PADR0 001FF2H/001FF1H/001FF0H
PADR1 001FF5H/001FF4H/001FF3H
バイト
バイト
バイト
アクセス
R/W
R/W
初期値
不定
不定
表 22.2-1 に , プログラムアドレス検出レジスタ 0/1 (PADR0/PADR1) と PACSR との対
応を示します。
表 22.2-1 PADR0/PADR1 レジスタと PACSR との対応
アドレス検出レジスタ
割込み許可ビット
PADR0
AD0E
PADR1
AD1E
■ プログラムアドレス検出制御ステータスレジスタ (PACSR)
プ ロ グ ラ ム ア ド レ ス 検 出 制 御 ス テ ー タ ス レ ジ ス タ (PACSR: Program Address detect
Control Status Register) は , アドレス検出機能の動作を制御します。
プログラムアドレス検出制御ステータスレジスタ (PACSR) のビット構成を図 22.2-2 に
示します。
図 22.2-2 プログラムアドレス検出制御ステータスレジスタ (PACSR)
アドレス : 00009EH
リード / ライト→
初期値→
7
6
5
4
3
2
1
0
予約
(-)
(0)
予約
(-)
(0)
予約
(-)
(0)
予約
(-)
(0)
AD1E
(R/W)
(0)
予約
(-)
(0)
AD0E
(R/W)
(0)
予約
(-)
(0)
←ビット No.
PACSR
【bit 7 ∼ bit 4】予約ビット
bit 7∼bit 4は,予約ビットです。PACSRを設定するときは,必ず"0"を設定してください。
389
第 22 章 アドレス一致検出機能
【bit 3】AD1E(Address Detect register 1 Enable)
AD1E は , PADR1 の動作許可ビットです。
このビットが "1" のとき PADR1 レジスタとアドレスの比較を行い , 一致した場合に
CPU は INT9 命令を実行します。
【bit 2】予約ビット
bit2 は , 予約ビットです。PACSR を設定するときは , 必ず "0" を設定してください。
【bit 1】AD0E (Address Detect register 0 Enable)
AD0E ビットは , PADR0 の動作許可ビットです。
このビットが "1" のとき PADR0 レジスタとアドレスの比較を行い , 一致した場合に
CPU は INT9 命令を実行します。
【bit 0】予約ビット
bit0 は , 予約ビットです。PACSR を設定するときは , 必ず "0" を設定してください。
390
第 22 章 アドレス一致検出機能
22.3
アドレス一致検出機能の動作
プログラムカウンタがアドレス一致検出レジスタと同じアドレスを指示している場
合は , INT9 命令を実行します。INT9 命令ルーチンを処理することによってアドレス
一致検出機能を実現することができます。
■ アドレス一致検出機能の動作
アドレス検出レジスタは 2 本用意されており , 各レジスタにコンペア許可ビットがあり
ます。アドレス検出レジスタに設定された値とプログラムカウンタの値が一致して , か
つコンペア許可ビットが "1" の場合 , CPU は INT9 命令を実行します。
<注意事項>
アドレス検出レジスタとプログラムカウンタの値が一致した場合は , 内部データバスの内
容が強制的に "01H" に変更されるので , INT9 命令を実行します。アドレス検出レジスタの
内容を変更する前には , コンペア許可ビットを必ず "0" にしてください。コンペア許可ビッ
トが "1" になっている間に変更すると , 誤動作を引き起こす可能性があります。
391
第 22 章 アドレス一致検出機能
22.4
アドレス一致検出機能の使用例
図 22.4-1 にアドレス一致検出機能のシステム構成例を表 22.4-1 に EEPROM メモリ
マップを示します。
■ アドレス一致検出機能のシステム構成例
図 22.4-1 アドレス一致検出機能のシステム構成例
EEPROM
MCU
F2MC16LX
SIN
■ EEPROM メモリマップ
表 22.4-1 EEPROM メモリマップ
アドレス
意味
0000H
パッチプログラム No.0 バイト数 (0 のときプログラムミスなし )
0001H
プログラムアドレス No.0 bit7 ∼ 0
0002H
プログラムアドレス No.0 bit15 ∼ 8
0003H
プログラムアドレス No.0 bit24 ∼ 16
0004H
パッチプログラム No.1 バイト数 (0 のときプログラムミスなし )
0005H
プログラムアドレス No.1 bit7 ∼ 0
0006H
プログラムアドレス No.1 bit15 ∼ 8
0007H
プログラムアドレス No.1 bit24 ∼ 16
0010H ∼
パッチプログラム No.0/1 本体
● 初期状態
EEPROM はすべて "0" とします。
● パッチが必要となる場合
コネクタ (UART) を通して , MCU にパッチプログラムの本体およびプログラムアドレ
スを転送します。MCU はその情報を EEPROM に書き込みます。
● リセットシーケンス
MCU はリセット後 EEPROM の値を読み出します。パッチプログラムのバイト数が "0"
でなかった場合は , パッチプログラムの本体が EEPROM から読み出され RAM に書き
込まれます。次に , MCU により PADR0 または PADR1 どちらか一方でパッチアドレス
をセットし , コンペア許可ビットをセットします。再配置可能はパッチプログラムが望
まれる場合は , RAM 領域に対してパッチ済みプログラムの最初のアドレスを書き込む
ことができます。この場合 , INT9 ルーチンがこのユーザ定義の RAM 領域を参照し ,
パッチ済みプログラムへ向けてジャンプします。
392
第 22 章 アドレス一致検出機能
● INT9 命令
割込みルーチンでは , スタックプログラムのカウンタの値を調べることにより , 割込み
が発生するアドレスを知ることができます。割込みの最中にスタックされた情報は破
棄されます。
■ プログラムパッチ処理例
図 22.4-2 プログラムパッチ処理例
FFFFFFH
異常プログラム
ROM
P
C
∥
発
生
ア
ド
レ
ス
外付EEPROM
プログラムパッチ用
レジスタセット
○
○
○
プログラムバイト数
割込み発生アドレス
修正プログラム
UARTを使用してデータ転送
修正プログラム
RAM
000000H
393
第 22 章 アドレス一致検出機能
■ プログラムパッチ処理フロー図
図 22.4-3 プログラムパッチ処理フロー図
リセット
E2PROM の0000Hを読み込む
INT9
YES
0000H( E2PROM )=0
NO
パッチプログラムへ
JMP 000400H
アドレスを読み込む
0001H~0003H( E2PROM )
↓MOV
PADR0(MCU)
パッチプログラム実行
000400H~000480H
パッチプログラムを読み込む
0010H~0090H( E2PROM )
↓MOV
000400H~000480H(MCU)
パッチプログラム終了
JMP FF0050H
コンペア許可
MOV PACSR,#02H
通常プログラム実行
PC=PADR0
NO
YES
INT9
FFFFFFH
FF0050H
ROM
FFFFH
異常プログラム
FF0000H
E2PROM
FE0000H
0090H
パッチプログラム
0010H
001100H
スタック領域
0003H
0002H
0001H
0000H
394
プログラムアドレス下位:00H
プログラムアドレス中位:00H
プログラムアドレス上位:FFH
パッチプログラムバイト数:80H
RAM領域
000480H
RAM
パッチプログラム
000400H
RAM/レジスタ領域
000100H
I/O領域
000000H
第 23 章
ROM ミラー機能選択
モジュール
ROM ミラー機能選択モジュールの機能と動作につ
いて説明します。
23.1 ROM ミラー機能選択モジュールの概要
23.2 ROM ミラー機能選択レジスタ (ROMM)
395
第 23 章 ROM ミラー機能選択 モジュール
23.1
ROM ミラー機能選択モジュールの概要
ROM ミラー機能選択モジュールは , ROM が配置されている FF バンクを 00 バンク
でみることをレジスタの設定で選択することができます。
■ ROM ミラー機能選択モジュールのブロックダイヤグラム
図 23.1-1 ROM ミラー機能選択モジュールのブロックダイヤグラム
内部データバス
ROMミラー機能選択レジスタ
アドレス
データ
396
アドレス領域
FFバンク
00バンク
ROM
第 23 章 ROM ミラー機能選択 モジュール
23.2
ROM ミラー機能選択レジスタ (ROMM)
ROM ミラー機能選択レジスタ (ROMM) は , アドレス 004000H ∼ 00FFFFH 番地の使
用中にアクセスしないでください。
■ ROM ミラー機能選択レジスタ (ROMM)
ROM ミラー機能選択レジスタ (ROMM) のビット構成を図 23.2-1 に示します。
図 23.2-1 ROM ミラー機能選択レジスタ (ROMM)
アドレス : 00006FH
リード / ライト→
初期値→
15
14
13
12
11
10
9
8
←ビット No.
─
(-)
(-)
─
(-)
(-)
─
(-)
(-)
─
(-)
(-)
─
(-)
(-)
─
(-)
(-)
─
(-)
(-)
MI
(W)
(1)
ROMM
【bit 8】MI
"1" 書込み時 , FF バンクの ROM のデータが 00 バンクでも読み出せるようになります。
"0" 書込み時 , 00 バンクはこの機能は働きません。
本ビットは , 書込みのみ可能です。
<注意事項>
ROMミラー機能を起動している場合, FF4000H ∼FFFFFFH 番地のみ004000H ∼00FFFFH
番地にミラーされます。このため , FF0000H ∼ FF3FFFH 番地は 00 バンクにミラーされ
ません。
397
第 23 章 ROM ミラー機能選択 モジュール
398
第 24 章
1M/2M ビットフラッシュ
メモリ
1M/2M ビットフラッシュメモリの機能と動作につ
いて説明します。
フラッシュメモリへのデータ書込み / 消去の方法に
は , 下記の 3 とおりの方法があります。
• パラレルライタ
• シリアル専用ライタ
• プログラム実行による書込み / 消去
ここでは , " プログラム実行による書込み / 消去 "
について説明します。
24.1 1M/2M ビットフラッシュメモリの概要
24.2 フラッシュメモリのセクタ構成
24.3 書込み / 消去モード
24.4 フラッシュメモリ制御ステータスレジスタ (FMCS)
24.5 フラッシュメモリ自動アルゴリズム起動方法
24.6 自動アルゴリズム実行状態の確認
24.7 フラッシュメモリ書込み / 消去の詳細説明
24.8 1M/2M ビットフラッシュメモリ使用上の注意
24.9 フラッシュセキュリティの特長
24.10 1M/2M ビットフラッシュメモリのプログラム例
399
第 24 章 1M/2M ビットフラッシュ メモリ
24.1
1M/2M ビットフラッシュメモリの概要
1M/2M ビットフラッシュメモリは , CPU メモリマップ上の "FEH"/"FCH" ∼ "FFH"
バンクに配置され , フラッシュメモリインタフェース回路の機能により , マスク
ROM と同様に CPU からのリードアクセスおよびプログラムアクセスが可能です。
フラッシュメモリへの書込み / 消去は , フラッシュメモリインタフェース回路を介し
て CPU からの命令動作で行えます。このため , 内蔵 CPU の制御による実装状態で
の書換えが可能となり , プログラムおよびデータの改善が効率よく行えます。
■ 1M/2M ビットフラッシュメモリの特長
• 自動プログラムアルゴリズム (Embedded AlogrithmTM*:MBM29LV200 と同様 )
• 消去一時停止 / 消去再開機能の搭載
• データポーリング , トグルビットによる書込み / 消去完了検出
• CPU 割込みによる書込み / 消去の完了検出
• セクタごとの消去が可能 ( セクタ組合せ自由 )
• 書込み / 消去回数 ( 最小 ) 10,000 回
* : Embedded Alogrithm は Advanced Micro Devices 社の商標です。
<注意事項>
マニュファクチャコードとデバイスコードの読出し機能はありません。また , これらの
コードはコマンドによってもアクセスできません。
■ フラッシュメモリ書込み / 消去の方法
フラッシュメモリは書込み / 消去と読出しを同時に行うことはできません。すなわち ,
フラッシュメモリにデータ書込み / 消去動作を行う際には , フラッシュメモリ上にある
プログラムを RAM に一度コピーし RAM 実行することで , フラッシュメモリからプロ
グラムアクセスをせず書込み動作だけを行うことが可能となります。
■ フラッシュメモリのレジスタ
フラッシュメモリ制御ステータスレジスタ (FMCS) のビット構成を図 24.1-1 に示しま
す。
図 24.1-1 フラッシュメモリ制御ステータスレジスタ (FMCS)
7
アドレス : 0000AEH
INTE RDYINT
リード / ライト→ (R/W)
(0)
初期値→
400
6
(R/W)
(0)
5
4
WE
RDY
(R/W)
(0)
(R)
(X)
3
2
予約
(R/W)
(0)
LPM1
(R/W)
(0)
1
0
←ビット No.
予約
(R/W)
(0)
LPM0
FMCS
(R/W)
(0)
第 24 章 1M/2M ビットフラッシュ メモリ
24.2
フラッシュメモリのセクタ構成
図 24.2-1 に , フラッシュメモリのセクタ構成を示します。
■ 1M/2M ビットフラッシュメモリのセクタ構成
図 24.2-1 に , 1M/2M ビットフラッシュメモリのセクタ構成を示します。図中アドレス
には , 各セクタの上位アドレスと下位アドレスを示します。
図 24.2-1 1M/2M ビットフラッシュメモリのセクタ構成
フラッシュメモリ
CPU アドレス
ライタアドレス *
FFFFFFH
7FFFFH
FFBFFFH
7BFFFH
FF9FFFH
79FFFH
FF7FFFH
77FFFH
FEFFFFH
6FFFFH
FE0000H
60000H
SA4(16K バイト )
フラッシュメモリ
CPU アドレス
ライタアドレス *
FFFFFFH
7FFFFH
FFBFFFH
7BFFFH
FF9FFFH
79FFFH
FF7FFFH
77FFFH
FEFFFFH
6FFFFH
FDFFFFH
5FFFFH
FCFFFFH
4FFFFH
FC0000H
40000H
SA6(16K バイト )
SA3(8K バイト )
SA5(8K バイト )
SA2(8K バイト )
SA4(8K バイト )
SA1(32K バイト )
SA3(32K バイト )
SA0(64K バイト )
SA2(64K バイト )
SA1(64K バイト )
SA0(64K バイト )
*: ライタアドレスとは , フラッシュメモリにパラレルライタでデータ書込みを行う際 , CPU アドレスに相当す
るアドレスです。汎用ライタを使用して書込み / 消去を行う際は , このアドレスで書込み / 消去を実行しま
す。
401
第 24 章 1M/2M ビットフラッシュ メモリ
24.3
書込み / 消去モード
フラッシュメモリのアクセスは , フラッシュメモリモードとその他モードの 2 つの
異なる方法で行われます。フラッシュメモリモードでは , 外部端子から直接書込み /
消去が行え , その他モードでは , 内部バスを介して CPU から書込み / 消去が行えま
す。モードの選択はモード外部端子で行います。
■ フラッシュメモリモード
リセット信号が発生中にモード端子を "111B" にセットすると , CPU が停止します。フ
ラッシュメモリインタフェース回路は直接ポート 0, 2, 3, 4 に接続しているので , 外部端
子から直接制御することができます。このモードでは , MCU が外部端子中の標準フ
ラッシュメモリと同様の動作を行い , フラッシュメモリプログラマを使用して書込み /
消去が行えます。
フラッシュメモリモードでは,フラッシュメモリ自動アルゴリズムでサポートされるす
べての動作を使用できます。
■ その他モード
フラッシュメモリは , CPU メモリ空間の FE/FC ∼ FF バンクに配置されており , 通常の
マスク ROM と同様にフラッシュメモリインタフェース回路を介して CPU から読出し
アクセスおよびプログラムアクセスすることができます。
フラッシュメモリへの書込み / 消去は , フラッシュメモリインタフェース回路を介して
CPU からの命令で実行されます。このため , このモードでは MCU が対象ボードにはん
だ付けされていても再書込みが可能です。
これらのモードでは , セクタプロテクト動作を実行することはできません。
■ フラッシュメモリの制御信号
表 24.3-1 に , フラッシュメモリモードでのフラッシュメモリ制御信号を示します。
フラッシュメモリ制御信号と MBM29LV200 の外部端子にはほぼ 1 対 1 の対応関係が
存在します。セクタプロテクト動作で必要となる VID(12V) 端子は , MBM29LV200 にお
ける A9, RESET, OE の代わりに , MD0 ∼ MD2 となります。
フラッシュメモリモードでは , 外部データバス幅は 8 ビットに制限されており , 1 バイ
トのアクセスしか許可されません。DQ15 ∼ DQ8 はサポートされていません。BYTE
端子は常に "0" にセットしてください。
402
第 24 章 1M/2M ビットフラッシュ メモリ
表 24.3-1 フラッシュ制御信号
MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S)
MBM29LV200
端子番号
通常機能
フラッシュメモリモード
1∼8
P20 ∼ P27
AQ0 ∼ AQ7
A-1, A0 ∼ A6
9
P30
AQ16
A15
10
P31
CE
CE
12
P32
CE
CE
13
P33
WE
WE
14
P34
AQ17
A16
16
P36
BYTE
BYTE
17
P37
RY/BY
RY/BY
18 ∼ 22
P40 ∼ P44
AQ8 ∼ AQ12
A7 ∼ A11
24 ∼ 26
P45 ∼ P47
AQ13 ∼ AQ15
A12 ∼ A14
49
MD0
MD0
A9(VID)
50
MD1
MD1
RESET (VID)
51
MD2
MD2
OE(VID)
85 ∼ 92
P00 ∼ P07
DQ0 ∼ DQ7
DQ0 ∼ DQ7
77
RST
RESET
RESET
使用不可
DQ8 ∼ DQ15
403
第 24 章 1M/2M ビットフラッシュ メモリ
24.4
フラッシュメモリ制御ステータスレジスタ (FMCS)
フラッシュメモリ制御ステータスレジスタ (FMCS) は , フラッシュメモリインタ
フェース回路にあるレジスタで , フラッシュメモリの書込み / 消去の際に使用しま
す。
■ フラッシュメモリ制御ステータスレジスタ (FMCS)
フラッシュメモリ制御ステータスレジスタ (FMCS) のビット構成を図 24.4-1 に示しま
す。
図 24.4-1 フラッシュメモリ制御ステータスレジスタ (FMCS)
7
6
5
アドレス : 0000AEH
INTE RDYINT WE
リード / ライト→ (R/W) (R/W) (R/W)
(0)
(0)
(0)
初期値→
4
RDY
(R)
(X)
3
2
予約
(R/W)
(0)
LPM1
(R/W)
(0)
1
0
←ビット No.
予約
(R/W)
(0)
LPM0
FMCS
(R/W)
(0)
【bit 7】INTE(INTerrupt Enable)
フラッシュメモリの書込み / 消去の終了で CPU に割込みを発生させるビットです。
INTE ビットが "1" でかつ RDYINT ビットが "1" のときに CPU へ割込みが発生します。
INTE ビットが "0" であれば割込みは発生しません。
0: 書込み / 消去終了での割込み禁止
1: 書込み / 消去終了での割込み許可
【bit 6】RDYINT(ReaDY INTerrupt)
フラッシュメモリの動作状態を表すビットです。
フラッシュメモリの書込み / 消去が終わって "1" となります。フラッシュメモリ書込み /
消去後,このビットが "0" の間は , フラッシュメモリへの書込み / 消去はできません。書
込み / 消去が終了して "1" になった後は , フラッシュメモリへの書込み / 消去が可能にな
ります。
"0" 書込みによって "0" にクリアされ , "1" の書込みは無視されます。フラッシュメモリ
自動アルゴリズム (「24.5 フラッシュメモリ自動アルゴリズム起動方法 」を参照 ) 終了
タイミングで , "1" にセットされます。リードモディファイライト (RMW) 系命令使用時
は , 必ず "1" が読めます。
0: 書込み / 消去動作実行中
1: 書込み / 消去動作終了 ( 割込み要求発生 )
【bit 5】WE(Write Enable)
フラッシュメモリ領域へのライトイネーブルビットです。
このビットが "1" のとき , FE/FC ∼ FF バンクへのコマンドシーケンス (「 24.5 フラッ
シュメモリ自動アルゴリズム起動方法」を参照 ) 発行後の書込みは , フラッシュメモリ
領域への書込みになります。本ビットが "0" のとき , 書込み / 消去の信号は発生されま
せん。このビットはフラッシュメモリの書込み / 消去のコマンドを起動する際に使用
します。
404
第 24 章 1M/2M ビットフラッシュ メモリ
書込み / 消去を行わないときは , 誤ってフラッシュメモリにデータを書き込まないよう ,
常に "0" に設定することを推奨します。
0: フラッシュメモリ書込み / 消去禁止
1: フラッシュメモリ書込み / 消去許可
【bit 4】RDY(ReadDY)
フラッシュメモリの書込み / 消去許可ビットです。
このビットが "0" の間は , フラッシュメモリへの書込み / 消去はできません。なお , こ
の状態でも読出し / リセットコマンド , セクタ消去一時停止コマンドは受け付けられま
す。
0: 書込み / 消去動作実行中 ( 次データ書込み / 消去不可 )
1: 書込み / 消去動作終了 ( 次データ書込み / 消去許可 )
【bit 3】予約ビット
試験用予約ビットです。通常使用時は必ず "0" に設定してください。
【bit 1】空きビット
通常使用時は必ず "0" に設定してください。
【bit 2, bit 0】LPM1, LPM0(Low Power Mode)
LPM1, LPM0 ビットを使用すると , フラッシュメモリ本体の消費電力を制御できます。
しかし , CPU からフラッシュメモリへのアクセスタイムが設定により大きく異なりま
すので , CPU の動作周波数により設定値を選択してください。
01: 低電力消費モード ( 内部動作周波数 4 MHz 以下で動作 )
10: 低電力消費モード ( 内部動作周波数 8 MHz 以下で動作 )
11: 低電力消費モード ( 内部動作周波数 12.58 MHz 以下で動作 )
00: 通常消費電力モード ( 内部動作周波数 16 MHz 以下で動作 )
<注意事項>
RDYINT ビットと RDY ビットは同時には変化しません。どちらか片方のビットで判定す
るようプログラムを作成してください ( 図 24.4-2 を参照 )。
図 24.4-2 RDYINT ビットと RDY ビットの変化タイミング
自動アルゴリズム
終了タイミング
RDYINTビット
RDYビット
1マシンサイクル
405
第 24 章 1M/2M ビットフラッシュ メモリ
24.5
フラッシュメモリ自動アルゴリズム起動方法
フラッシュメモリの自動アルゴリズムを起動するコマンドには , 読出し / リセット ,
書込み , チップ消去 , セクタ消去の 4 種類があり , セクタ消去については一時停止と
再開の制御が可能です。
■ コマンドシーケンス表
表 24.5-1 に , フラッシュメモリの書込み / 消去時に使用するコマンドの一覧を示しま
す。コマンドレジスタに書き込むデータはすべてバイトですが , ワードアクセスで書き
込むようにしてください。このときの上位バイト分のデータは無視されます。
表 24.5-1 コマンドシーケンス表
コマンド
バス
シー
ライト
ケンス アクセス
読出し /
リセット *
書込み
プロ
グラム
チップ
消去
セクタ
消去
1st
バスライト
サイクル
2nd
バスライト
サイクル
3rd
バスライト
サイクル
4th
バスライト
サイクル
5th
バスライト
サイクル
6th
バスライト
サイクル
1
4
アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ
FxXXXX XXF0
FxAAAA XXAA Fx5554 XX55 FxAAAA XXF0
RA
RD
-
4
FxAAAA XXAA
Fx5554
XX55 FxAAAA XXA0
6
FxAAAA XXAA
Fx5554
XX55 FxAAAA XX80 FxAAAA XXAA
Fx5554
XX55 FxAAAA XX10
6
FxAAAA XXAA
Fx5554
XX55 FxAAAA XX80 FxAAAA XXAA
Fx5554
XX55
セクタ消去一時停止
PA
(even)
PD
(word)
-
-
-
-
SA
(even)
XX30
-
-
Address"FxXXXX"Data(xxB0H) の入力で , セクタ消去中の消去一時停止
Address"FxXXXX"Data(xx30H) の入力で , セクタ消去中の消去一時停止後 , 消去開始
セクタ消去再開
Auto Select
3
FxAAAA XXAA Fx5554 XX55 FxAAAA XX90
-
( 注意事項 )
・表中のアドレス Fx は , 1M ビットフラッシュメモリの場合は FF, FE を , 2M ビットフラッシュメモリの場合は FF, FE, FD, FC を
意味します。それぞれの操作時にはアクセス対象バンクの値としてください。
・表中のアドレスは , CPU メモリマップ上の値です。アドレスおよびデータはすべて 16 進数表記しています。
ただし "X" は任意の値です。
・RA: 読出しアドレス
・PA: 書込みアドレス , 偶数アドレスのみ指定可
・SA: セクタアドレス (「24.2 フラッシュメモリのセクタ構成」) を参照してください。
・RD: 読出しデータ
・PD: 書込みデータ , ワードデータのみ指定可
*:2 種類の読出し / リセットコマンドは , どちらもフラッシュメモリを読出しモードにリセットすることができます。
表 24.5-2 における Auto Select はセクタ保護の状態を知るためのコマンドです。実際に
は前期コマンドとともに下記のようにアドレスを設定する必要があります。
表 24.5-2 Auto Select 時のアドレス設定
セクタ保護
AQ13 ∼ AQ16
AQ7
AQ2
AQ1
AQ0
DQ7 ∼ DQ0
セクタアドレス
L
H
L
L
CODE*
*: 保護されたセクタアドレスでの出力は "01H", 保護されていないセクタアドレスでの出力は
"00H"
406
第 24 章 1M/2M ビットフラッシュ メモリ
24.6
自動アルゴリズム実行状態の確認
フラッシュメモリでは , 書込み / 消去のフローを自動アルゴリズムで行うため , フ
ラッシュメモリ内部の動作状態や動作完了したことを知らせるハードウェアを持ち
ます。この自動アルゴリズムは , 下記のハードウェアシーケンスフラグによって内蔵
フラッシュメモリの動作状態の確認ができます。
■ ハードウェアシーケンスフラグ
ハードウェアシーケンスフラグは , DQ7, DQ6, DQ5, DQ3, DQ2 の 4 ビットの出力で構成
されます。それぞれがデータポーリングフラグ (DQ7), トグルビットフラグ (DQ6), タイ
ミングリミット超過フラグ (DQ5), セクタ消去タイマフラグ (DQ3), トグルビット 2 フラ
グ (DQ2) の機能を持ちます。これにより , 書込み / チップ・セクタ消去終了 , 消去コー
ドライトが有効かの確認をすることができます。
ハードウェアシーケンスフラグを参照するには , コマンドシーケンス (「 24.5 フラッ
シュメモリ自動アルゴリズム起動方法」の表 24.5-1 を参照 ) 設定後にフラッシュメモ
リ内部の対象セクタのアドレスにリードアクセスすることで参照できます。表 24.6-1
にハードウェアシーケンスフラグのビット割当てを示します。
表 24.6-1 ハードウェアシーケンスフラグのビット割当て
ビット No.
7
6
5
4
3
2
1
0
ハードウェアシーケンスフラグ
DQ7
DQ6
DQ5
-
DQ3
DQ2
-
-
自動書込み / チップ・セクタ消去が実行中であるかの判断は , ハードウェアシーケンス
フラグを確認するか , フラッシュメモリ制御レジスタ (FMCS) の RDY ビットを確認す
ることで , 書込みが終了しているかを知ることができ , 書込み / 消去終了後は , 読出し /
リセット状態に戻ります。実際にプログラムを作成する際には , いずれかのフラグで自
動書込み / 消去終了を確認後に , データの読出しなどの次処理を行ってください。また ,
2 回目以降のセクタ消去コードライトが有効であるかも , ハードウェアシーケンスフラ
グによって確認することができます。
表 24.6-2 に , ハードウェアシーケンスフラグ機能一覧を示します。
407
第 24 章 1M/2M ビットフラッシュ メモリ
表 24.6-2 ハードウェアシーケンスフラグ機能一覧
状態
書込み動作→書込み完了
( 書込みアドレス指定時 )
チップセレクタ消去動作→消去
完了
セクタ消去ウェイト→消去開始
正常動作時の
消去動作→セクタ消去一時停止
状態変化
( 消去中のセクタ )
セクタ消去一時停止→消去再開
( 消去中のセクタ )
セクタ消去一時停止中
( 消去中でないセクタ )
異常動作
書込み動作
チップセクタ消去動作
DQ7
DQ6
DQ5
DQ3
DQ2
DQ7 →
DATA:7
Toggle →
DATA:6
0→
DATA:5
0→
DATA:3
1→
DATA:2
0→1
Toggle → Stop
0→1
1
Toggle → Stop
0
Toggle
0
0→1
Toggle
0→1
Toggle → 1
0
1→0
Toggle
1→0
1 → Toggle
0
0→1
Toggle
DATA:7
DATA:6
DATA:5
DATA:3
DATA:2
DQ7
Toggle
1
0
1
0
Toggle
1
1
*
*: DQ5 が "1" のとき ( タイミングリミット超過 ), 書込み / 消去中セクタへの連続的な読出しに対しては , DQ2 は
トグル動作をし , ほかのセクタへの読出しに対してはトグルしません。
408
第 24 章 1M/2M ビットフラッシュ メモリ
24.6.1
データポーリングフラグ (DQ7)
データポーリングフラグ (DQ7) は , 自動アルゴリズム実行が進行中もしくは終了状
態であることをデータポーリング機能によって知らせるためのフラグです。
■ データポーリングフラグ (DQ7)
表 24.6-3 と表 24.6-4 に , データポーリングフラグの状態遷移を示します。
表 24.6-3 データポーリングフラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
DQ7
書込み動作
→完了
DQ7 → DATA:7
チップセクタ
消去→完了
セクタ消去
ウェイト
→開始
0→1
0
セクタ消去
セクタ消去
セクタ消去一時
一時停止中
→消去一時停止 停止→再開
消去中でない
消去中のセクタ 消去中のセクタ
セクタ
0→1
1→0
DATA:7
表 24.6-4 データポーリングフラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
DQ7
書込み動作
チップセクタ消去動作
DQ7
0
● 書込み動作時
自動書込みアルゴリズム実行中にリードアクセスすると,フラッシュメモリはアドレス
の指し示す番地によらず , 最後に書き込まれたデータの bit 7 の反転データを出力しま
す。自動書込みアルゴリズム終了時にリードアクセスすると , フラッシュメモリはアド
レスの指し示す番地の読出し値の bit 7 を出力します。
● チップ / セクタ消去動作時
チップ消去 / セクタ消去アルゴリズム実行中に , セクタ消去時は現在消去しているセク
タから , チップ消去時はアドレスの指し示す番地に関係なく , リードアクセスするとフ
ラッシュメモリは "0" を出力します。同様に終了時には "1" を出力します。
● セクタ消去一時停止時
セクタ消去一時停止時にリードアクセスすると,フラッシュメモリはアドレスの指し示
す番地が消去中のセクタであれば "1" を出力し , 消去中のセクタでなければアドレスの
指し示す番地の読出し値の bit 7 (DATA:7) を出力します。トグルビットフラグ (DQ6) と
ともに参照することで , 現在セクタ一時停止状態であるか , どのセクタが消去中である
かの判定が可能です。
409
第 24 章 1M/2M ビットフラッシュ メモリ
<注意事項>
自動アルゴリズム起動時は指定したアドレスへのリードアクセスは無視されます。データ
の読出しは , データポーリングフラグ (DQ7) の終了を受けて,ほかのビットの出力が可能
となります。
このため,自動アルゴリズム終了後のデータの読出しは , データポーリング終了を確認し
たリードアクセスの次に行うようにしてください。
410
第 24 章 1M/2M ビットフラッシュ メモリ
24.6.2
トグルビットフラグ (DQ6)
トグルビットフラグ (DQ6) はデータポーリングフラグ (DQ7) と同様に , 主に自動ア
ルゴリズム実行が進行中 , もしくは終了状態であることをトグルビット機能によって
知らせるためのフラグです。
■ トグルビットフラグ (DQ6)
表 24.6-5 と表 24.6-6 に , トグルビットフラグの状態遷移を示します。
表 24.6-5 トグルビットフラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
書込み動作
→完了
チップセクタ消去
→完了
セクタ消去
ウェイト
→開始
DQ6
Toggle
→ DATA:6
Toggle → Stop
Toggle
セクタ消去
セクタ消去
セクタ消去一時
一時停止中
→消去一時停止
停止→再開
消去中でない
消去中のセクタ 消去中のセクタ
セクタ
Toggle → 1
1 → Toggle
DATA:6
表 24.6-6 トグルビットフラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
書込み動作
チップセクタ消去動作
DQ6
Toggle
Toggle
● 書込み / チップ・セクタ消去時
自動書込みアルゴリズムおよびチップ・セクタ消去アルゴリズム実行中に , 連続した
リードアクセスを行うと , フラッシュメモリはアドレスの指し示す番地によらず , 読出
しごとに "1" と "0" を交互に出力するトグル状態を出力します。自動書込みアルゴリズ
ムおよびチップ / セクタ消去アルゴリズム終了時に連続したリードアクセスを行うと
フラッシュメモリは bit 6 のトグル動作を止め , アドレスの指し示す番地の読出し値の
bit 6 (DATA:6) を出力します。
● セクタ消去一時停止時
セクタ消去一時停止時にリードアクセスすると,フラッシュメモリはアドレスの指し示
す番地が消去中のセクタに属するならば "1" を出力します。消去中のセクタに属さな
いのであれば , アドレスの指し示す番地の読出し値の bit 6 (DATA:6) を出力します。
<参考>
書込みの際 , 書き込もうとしているセクタが書換え保護されているセクタの場合は ,
約 2 µs のトグル動作をした後 , データを書き換えることなくトグル動作を終わります。
消去の際,選択されたすべてのセクタが書換え保護されている場合トグルビットは約100 µs
のトグル動作をし , その後データを書き換えないで読出し / リセット状態に戻ります。
411
第 24 章 1M/2M ビットフラッシュ メモリ
24.6.3
タイミングリミット超過フラグ (DQ5)
タイミングリミット超過フラグ (DQ5) は , 自動アルゴリズムの実行がフラッシュメ
モリ内部に規定された時間 ( 内部パルス回数 ) を超えてしまったことを知らせるフラ
グです。
■ タイミングリミット超過フラグ (DQ5)
表 24.6-7 と表 24.6-8 に , タイミングリミット超過フラグの状態遷移を示します。
表 24.6-7 タイミングリミット超過フラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
DQ5
書込み動作
→完了
チップセクタ
消去
→完了
セクタ消去
ウェイト
→開始
セクタ消去
→消去一時停止
消去中のセクタ
セクタ消去一時
停止→再開
0 → DATA:5
0→1
0
0
0
消去中のセクタ
セクタ消去
一時停止中
消去中でない
セクタ
DATA:5
表 24.6-8 タイミングリミット超過フラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
書込み動作
チップセクタ消去動作
DQ5
1
1
● 書込み / チップセクタ消去時
書込みまたはチップセクタ消去自動アルゴリズム起動後にリードアクセスすると,規定
時間 ( 書込み / 消去に要する時間 ) 内であれば "0" を , 規定時間を超えてしまっている
場合は "1" を出力します。これは , 自動アルゴリズムが実行中か終了状態にあるかとは
無関係ですので , 書込み / 消去が成功したか失敗したかの判定が可能です。すなわち ,
このフラグが "1" を出力したとき , データポーリング機能もしくはトグルビット機能に
より自動アルゴリズムがまだ実行中であれば,書込みが失敗していると判断することが
できます。
例えば , "0" が書き込まれているフラッシュメモリアドレスに "1" を書き込もうとする
とフェイルが発生します。この場合フラッシュメモリはロックされ , 自動アルゴリズム
は終了しません。まれに "1" が書き込めたように , 正常終了する場合もあります。した
がって , データポーリングフラグ (DQ7) から有効なデータが出力されません。また,ト
グルビットフラグ (DQ6) はトグル動作を止めず , タイムリミットを超え , タイミングリ
ミット超過フラグ (DQ5) は "1" を出力します。この状態はフラッシュメモリが不良で
はなく , 正しく使用されなかったということを表しています。この状態が発生したとき
は , リセットコマンドを実行してください。
412
第 24 章 1M/2M ビットフラッシュ メモリ
24.6.4
セクタ消去タイマフラグ (DQ3)
セクタ消去タイマフラグ (DQ3) は , セクタ消去コマンド起動後セクタ消去ウェイト
期間中であるか否かを知らせるフラグです。
■ セクタ消去タイマフラグ (DQ3)
表 24.6-9 と表 24.6-10 に , セクタ消去タイマフラグの状態遷移を示します。
表 24.6-9 セクタ消去タイマフラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
書込み動作
→完了
チップセクタ
消去
→完了
セクタ消去
ウェイト
→開始
セクタ消去
→消去一時停止
消去中のセクタ
セクタ消去一時
停止→再開
消去中のセクタ
セクタ消去
一時停止中
消去中でない
セクタ
DQ3
0 → DATA:3
1
0→1
1→0
0→1
DATA:3
表 24.6-10 セクタ消去タイマフラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
書込み動作
チップセクタ消去動作
DQ3
0
1
● セクタ消去動作時
セクタ消去コマンド起動後にリードアクセスすると,フラッシュメモリはコマンドを発
行したセクタのアドレス信号の指し示す番地によらず,セクタ消去ウェイト期間中であ
れば "0" を , セクタ消去ウェイト期間を超えてしまっている場合は "1" を出力します。
データポーリング機能やトグルビット機能により消去アルゴリズムが実行中を示して
いる場合 , このフラグが "1" であれば内部で制御される消去が始まっています。続けて
のセクタ消去コードの書込みまたは消去一時停止以外のコマンドは,消去が終了される
まで無視されます。
このフラグが "0" であればフラッシュメモリは , 追加のセクタ消去コードの書込みを受
け付けます。このことを確認するために , 引き続くセクタ消去コードの書込みに先立
ち,このフラグの状態をチェックすることを推奨します。もし,2 回目の状態チェック
で "1" であったなら追加セクタの消去コードは受け付けられてない可能性があります。
● セクタ消去動作時
セクタ消去一時停止中にリードアクセスすると,フラッシュメモリはアドレスの指し示
す番地が , 消去中のセクタに属するならば "1" を出力します。消去中のセクタに属さな
いのであれば , アドレスの指し示す番地の読出し値の bit 3 (DATA:3) を出力します。
413
第 24 章 1M/2M ビットフラッシュ メモリ
24.6.5
トグルビット 2 フラグ (DQ2)
トグルビット 2 フラグ (DQ2) は , セクタ消去一時停止中であることをトグルビット
機能によって知らせるフラグです。
■ トグルビット 2 フラグ (DQ2)
表 24.6-11 と表 24.6-12 に , トグルビット 2 フラグの状態遷移を示します。
表 24.6-11 トグルビット 2 フラグの状態遷移 ( 正常動作時の状態変化 )
動作状態
書込み動作
→完了
チップセクタ
消去
→完了
セクタ消去
ウェイト
→開始
セクタ消去
→消去一時停止
消去中のセクタ
セクタ消去一時
停止→再開
消去中のセクタ
セクタ消去
一時停止中
消去中でない
セクタ
DQ2
1 → DATA:2
Toggle →
Stop
Toggle
Toggle
Toggle
DATA:2
表 24.6-12 トグルビット 2 フラグの状態遷移 ( 異常動作時の状態変化 )
動作状態
書込み動作
チップセクタ消去動作
DQ2
1
*
* : DQ5 が "1" のとき ( タイミングリミット超過 ), 書込み / 消去中セクタへの連続的な読出しに対しては , DQ2
はトグル動作をし , ほかのセクタへの読出しに対してはトグルしません。
● セクタ消去動作時
チップセクタ消去アルゴリズム実行中に連続したリードアクセスを行うと,フラッシュ
メモリはアドレスの指し示す番地によらず , 読出しごとに "1" と "0" を交互に出力する
トグル状態を出力します。チップセクタ消去アルゴリズム終了後に連続したリードア
クセスを行うと , フラッシュメモリは bit 2 のトグル出力を止め , アドレスの指し示す
番地の読出し値の bit 2 (DATA:2) を出力します。
● セクタ消去一時停止時
セクタ消去一時停止中に連続したリードアクセスを行うと,フラッシュメモリはアドレ
スの指し示す番地が , 消去中のセクタに属するならば "1" と "0" を交互に出力するトグ
ル状態を出力します。消去中のセクタに属さないのであれば , アドレスの指し示す番地
の読出し値の bit 2 (DATA:2) を出力します。
また , セクタ消去一時停止書込み時 , 消去一時停止していないセクタから連続したリー
ドアクセスを行うと , "1" を出力します。
DQ2 は DQ6 とともに使用し , 消去一時停止中であるかを検出するために使用します
(DQ2 はトグル動作するが , DQ6 はトグル動作しない )。
さらに , DQ2 は消去しているセクタの検出にも使用します。消去動作時には , DQ2 は
消去しているセクタからのリードアクセスならばトグル動作をします。
414
第 24 章 1M/2M ビットフラッシュ メモリ
<参考>
消去の際 , 選択されたすべてのセクタが書換え保護されている場合 , トグルビット 2 は約
100 µs のトグル動作をし , その後データを書き換えないで読出し / リセット状態に戻りま
す。
415
第 24 章 1M/2M ビットフラッシュ メモリ
24.7
フラッシュメモリ書込み / 消去の詳細説明
自動アルゴリズムを起動するコマンドを発行し , フラッシュメモリに読出し / リセッ
ト , 書込み , チップ消去 , セクタ消去 , セクタ消去一時停止 , セクタ消去再開のそれ
ぞれの動作を行う手順を説明します。
■ フラッシュメモリ書込み / 消去の詳細説明
フラッシュメモリは読出し / リセット , 書込み , チップ消去 , セクタ消去 , セクタ消去
一時停止 , 消去再開の動作がコマンドシーケンス (「24.5 フラッシュメモリ自動アルゴ
リズム起動方法」の表 24.5-1 を参照 ) のバスへのライトサイクルを行うことで自動ア
ルゴリズムを実行することが可能です。それぞれのバスへのライトサイクルは必ず続
けて行う必要があります。また , 自動アルゴリズムはデータポーリング機能などで終了
時を知ることができます。正常終了後は読出し / リセット状態に戻ります。
各動作について , 次項より下記の順に示します。
• 読出し / リセット状態にする
• データを書き込む
• 全データを消去する ( チップ全消去 )
• 任意のデータを消去する ( セクタ消去 )
• セクタ消去を一時停止する
• セクタ消去を再開する
416
第 24 章 1M/2M ビットフラッシュ メモリ
24.7.1
フラッシュメモリの読出し / リセット状態
読出し / リセットコマンドを発行し , フラッシュメモリを読出し / リセット状態にす
る手順について説明します。
■ フラッシュメモリの読出し / リセット状態
フラッシュメモリを読出し / リセット状態にするには , コマンドシーケンス表 (「24.5
フラッシュメモリ自動アルゴリズム起動方法」の表 24.5-1 を参照 ) の読出し / リセット
コマンドを , フラッシュメモリ内の対象セクタに続けて送ることで実行可能です。
読出し / リセットコマンドには 1 回と 3 回のバス動作を行う 2 とおりのコマンドシー
ケンスがありますが , これらの本質的な違いはありません。
読出し / リセット状態はフラッシュメモリの初期状態であり , 電源投入時 , コマンドの
正常終了時は常に読出し / リセット状態になります。読出し / リセット状態はほかのコ
マンドの入力待ち状態です。
読出し/リセット状態では通常のリードアクセスでデータを読み出せます。マスクROM
と同様に CPU からのプログラムアクセスが可能です。通常読出しでのデータ読出しに
このコマンドは必要ありません。何らかの理由でコマンドが正常に終了しなかったと
きなど , 自動アルゴリズムを初期化する場合に主にこのコマンドを使用します。
417
第 24 章 1M/2M ビットフラッシュ メモリ
24.7.2
フラッシュメモリへのデータ書込み
書込みコマンドを発行し , フラッシュメモリへデータを書き込む手順について説明し
ます。
■ フラッシュメモリへのデータを書込み
フラッシュメモリのデータ書込み自動アルゴリズムを起動するには,コマンドシーケン
ス表 (「24.5 フラッシュメモリ自動アルゴリズム起動方法」の表 24.5-1 を参照 ) の書込
みコマンドを , フラッシュメモリ内の対象セクタに続けて送ることで実行可能です。4
サイクル目に目的のアドレスへのデータ書込みが終了した時点で,自動アルゴリズムが
起動され,自動書込みが開始します。
● アドレス指定方法
書込みデータサイクルの中で指定する書込みアドレスは , 偶数アドレスのみが可能で
す。奇数アドレスを指定すると正しく書き込むことができません。
すなわち , 偶数アドレスへのワードデータ単位での書込みが必要となります。
書込みはどのようなアドレスの順番でも , また , セクタの境界を超えても可能ですが ,
1 回の書込みコマンドによって書き込まれるデータは 1 ワードのみです。
● データ書込み上の注意
書込みによって , データ "0" をデータ "1" に戻すことはできません。データ "0" にデー
タ "1" を書き込むと , データポーリングアルゴリズム (DQ7) またはトグル動作 (DQ6) が
終了せず , フラッシュメモリ素子が不良と判定され , 書込み規定時間を超えタイミング
リミット超過フラグ (DQ5) がエラーと判定するか , あるいは見かけ上データ "1" が書き
込まれたように見えるかのどちらかとなります。しかし , 読出し / リセット状態でデー
タを読み出すとデータは "0" のままです。消去動作のみが "0" データを "1" にすること
ができます。
自動書込み実行中はすべてのコマンドが無視されます。書込み中にハードウェアリ
セットが起動されると,書き込んでいるアドレスのデータは保証されませんので注意が
必要です。
■ フラッシュメモリ書込み手順
図 24.7-1 に , フラッシュメモリ書込みの手順の例を示します。ハードウェアシーケン
スフラグ (「24.6 自動アルゴリズム実行状態の確認」を参照 ) を用いることでフラッ
シュメモリ内部の自動アルゴリズムの状態判定が可能です。ここでは , 書込み終了の確
認にデータポーリングフラグ (DQ7) を用いています。
フラグチェックのために読み出すデータは最後に書込みを行ったアドレスからの読出
しとなります。
データポーリングフラグ (DQ7) は , タイミングリミット超過フラグ (DQ5) と同時に変
わるので , たとえタイミングリミット超過フラグ (DQ5) が "1" であってもデータポーリ
ングフラグビット (DQ7) は再チェックする必要があります。
トグルビットフラグ (DQ6) でも同様にタイミングリミット超過フラグビット (DQ5) が
"1"に変わるのと同時にトグル動作を止めるので,トグルビットフラグ(DQ6)を再チェッ
クする必要があります。
418
第 24 章 1M/2M ビットフラッシュ メモリ
図 24.7-1 フラッシュメモリ書込み手順の例
書込み開始
FMCS:WE(ビット5)
フラッシュメモリ書込み許可
書込みコマンドシーケンス
①FxAAAA←XXAA
②Fx5554←XX55
③FxAAAA←XXA0
④書込みアドレス←書込みデータ
次アドレス
内部アドレスリード
DATA
データポーリングフラグ
(DQ7)
DATA
タイミングリミット(DQ5)
1
内部アドレスリード
DATA
データポーリングフラグ
(DQ7)
DATA
書込みエラー
最終アドレス
NO
YES
FMCS:WE(ビット5)
フラッシュメモリ書込み禁止
書込み完了
:ハードウェアシーケンスフラグ
による確認
419
第 24 章 1M/2M ビットフラッシュ メモリ
24.7.3
フラッシュメモリの全データの消去 ( チップ消去 )
チップ消去コマンドを発行し , フラッシュメモリの全データを消去する手順について
説明します。
■ フラッシュメモリの全データの消去 ( チップ消去 )
フラッシュメモリからすべてのデータを消去するには , コマンドシーケンス表 (「24.5
フラッシュメモリ自動アルゴリズム起動方法」の表 24.5-1 を参照 ) のチップ消去コマ
ンドを , フラッシュメモリ内の対象セクタに続けて送ることで実行可能です。
チップ消去コマンドは 6 回のバス動作で行われます。6 サイクル目の書込みが完了した
時点でチップ消去動作が開始します。チップ消去では , 消去前にユーザがフラッシュメ
モリに書込みを行う必要はありません。自動消去アルゴリズム実行中には , フラッシュ
メモリは自動的にすべてのセルを消去する前に "0" を書き込んで検証します。
420
第 24 章 1M/2M ビットフラッシュ メモリ
24.7.4
フラッシュメモリの任意データの消去 ( セクタ消去 )
セクタ消去コマンドを発行し , フラッシュメモリの任意のデータを消去する ( セクタ
消去 ) 手順について説明します。セクタごとの消去が可能であり , 複数のセクタを同
時に指定することも可能です。
■ フラッシュメモリの任意データの消去 ( セクタ消去 )
フラッシュメモリの任意のセクタを消去するためには , コマンドシーケンス表 (「24.5
フラッシュメモリ自動アルゴリズム起動方法」の表 24.5-1 を参照 ) のセクタ消去コマ
ンドを , フラッシュメモリ内の対象セクタに続けて送ることで実行可能です。
● セクタ指定方法
セクタ消去コマンドは 6 回のバス動作で行われます。6 サイクル目に目的のセクタ内の
アクセス可能な任意の偶数の 1 アドレスへ , セクタ消去コード (30H) を書き込むことに
より 50 µs のセクタ消去ウェイトが開始します。複数のセクタ消去を行う場合は , 上記
の処理に引き続き消去する目的のセクタ内のアドレスに消去コード(30H)を書き込みま
す。
● 複数のセクタを指定するときの注意
最後のセクタ消去コードの書込みから50 µsのセクタ消去ウェイト期間終了により消去
が開始します。すなわち , 複数のセクタを同時に消去する場合は , 次の消去セクタのア
ドレスと消去コード ( コマンドシーケンス 6 サイクル目 ) をそれぞれ 50 µs 以内に入力
する必要があり , それ以降では受け付けられないことがあります。引き続くセクタ消去
コードの書込みが有効かどうかはセクタ消去タイマ ( ハードウェアシーケンスフラグ
DQ3) によって調べることができます。なお,このとき , セクタ消去タイマを読み出す
アドレスは , 消去しようとしているセクタを指すようにします。
■ フラッシュメモリのセクタ消去手順
ハードウェアシーケンスフラグ (「24.6 自動アルゴリズム実行状態の確認」を参照 ) を
用いることでフラッシュメモリ内部の自動アルゴリズムの状態判定が可能です。図 24.72 に , フラッシュメモリのセクタ消去手順の例を示します。ここでは , 消去終了の確認に
トグルビットフラグ (DQ6) を用いています。
フラグチェックのために読み出すデータは,消去しようとしているセクタからの読出し
となりますので , 注意が必要です。
トグルビットフラグ (DQ6) は , タイミングリミット超過フラグ (DQ5) が "1" に変わる
のと同時にトグル動作を止めるので , たとえタイミングリミット超過フラグ (DQ5) が
"1" であってもトグルビットフラグ (DQ6) は再チェックする必要があります。
データポーリングフラグ (DQ7) でも同様に , タイミングリミット超過フラグ (DQ5) と
同時に変わるので , データポーリングフラグを再チェックする必要があります。
421
第 24 章 1M/2M ビットフラッシュ メモリ
図 24.7-2 フラッシュメモリのセクタ消去手順の例
消去開始
FMCS:WE(ビット5)
フラッシュメモリ消去許可
消去コマンドシーケンス
①FxAAAA←XXAA
②Fx5554←XX55
③FxAAAA←XX80
④FxAAAA←XXAA
⑤Fx5554←XX55
⑥セクタアドレス←消去コード(30H)
YES
消去セクタがほかにあるか
NO
内部アドレスリード1
内部アドレスリード2
次セクタ
NO
YES
トグルビット(DQ6)
データ1(DQ6)=データ2(DQ6)
セクタ消去終了
YES
NO
0
タイミングリミット(DQ5)
1
内部アドレスリード1
内部アドレスリード2
NO
トグルビット(DQ6)
データ1(DQ6)=データ2(DQ6)
YES
消去エラー
最終セクタ
NO
YES
FMCS:WE(ビット5)
フラッシュメモリ消去禁止
消去完了
422
:ハードウェアシーケンスフラグ
による確認
第 24 章 1M/2M ビットフラッシュ メモリ
24.7.5
フラッシュメモリのセクタ消去の一時停止
セクタ消去一時停止コマンドを発行し , フラッシュメモリセクタ消去の一時停止を行
う手順について説明します。消去中でないセクタから , データを読み出すことが可能
です。
■ フラッシュメモリのセクタ消去の一時停止
フラッシュメモリのセクタ消去を一時停止するには , コマンドシーケンス表 (「24.5 フ
ラッシュメモリ自動アルゴリズム起動方法」の表 24.5-1 を参照 ) のセクタ消去一時停
止コマンドを , フラッシュメモリ内に送ることで実行可能です。
セクタ消去一時停止コマンドは , セクタ消去中に消去を一時停止し , 消去中でないセク
タからのデータ読出しを可能にするものです。この状態では読出しのみが可能で書込
みはできません。このコマンドは消去ウェイト時間を含むセクタ消去中のみ有効で ,
チップ消去中や書込み動作中は無視されます。
消去一時停止コード (B0H) の書込みを行うことで実施されますが , このときアドレスは
フラッシュメモリ内の任意のアドレスを指すようにします。消去一時停止での再度の
消去一時停止コマンドは無視されます。
セクタ消去ウェイト期間中に , セクタ消去一時停止コマンドが入力されると , 直ちにセ
クタ消去ウェイトを終了し , 消去動作を中断して消去停止状態になります。セクタ消去
ウェイト期間後のセクタ消去動作中に消去一時停止コマンドが入力されると最大 20 µs
後 , 消去一時停止状態に入ります。セクタ消去一時停止コマンドは , セクタ消去コマン
ドあるいはセクタ消去再開コマンド発行後 , 20µs 以上後に行ってください。
423
第 24 章 1M/2M ビットフラッシュ メモリ
24.7.6
フラッシュメモリのセクタ消去の再開
セクタ消去再開コマンドを発行し , 一時停止したフラッシュメモリセクタ消去を再開
する手順について説明します。
■ フラッシュメモリのセクタ消去の再開
一時停止したセクタ消去を再開させるには , コマンドシーケンス表 (「24.5 フラッシュ
メモリ自動アルゴリズム起動方法」の表 24.5-1 を参照 ) のセクタ消去再開コマンドを ,
フラッシュメモリ内に送ることで実行可能です。
セクタ消去再開コマンドは,セクタ消去一時停止コマンドによるセクタ消去一時停止状
態から , セクタ消去を再開するためのコマンドです。このコマンドは消去再開コード
(30H) を書き込むことで実施されますが , このときのアドレスはフラッシュメモリ領域
内の任意のアドレスを指すようにします。
なお , セクタ消去中のセクタ消去再開コマンドの発行は無視されます。
424
第 24 章 1M/2M ビットフラッシュ メモリ
24.8
1M/2M ビットフラッシュメモリ使用上の注意
1M/2M ビットフラッシュメモリに関する注意を以下に示します。
■ フラッシュメモリ使用上の注意
● ハードウェアリセット (RST) の入力
読出し中で自動アルゴリズムが起動していないときに,ハードウェアリセットを入力す
るには , "L" レベル幅として最低 500 ns をとる必要があります。この場合 , ハードウェ
アリセット起動後フラッシュメモリからデータを読み出すまでに , 最低 500 ns が必要
となります。
同様に , 書込み / 消去中で自動アルゴリズムが起動しているときに , ハードウェアリ
セットを入力するには , "L" レベル幅として最低 500ns をとる必要があります。この場
合,フラッシュメモリを初期化するために実行中の動作を停止した後データを読み出す
までに , 20 µs が必要となります。
書込み中にハードウェアリセットすると , 書き込まれているデータは不定となります。
消去中のハードウェアリセットや電源切れにより,消去されているセクタは使用不可と
なる可能性があります。
● ソフトウェアリセット , ウォッチドッグタイマリセット , ハードウェアスタンバイの取消し
CPU アクセスでフラッシュメモリ書込み / 消去中に , 自動アルゴリズムがアクティブ状
態でリセット条件が発生した場合 , CPU が暴走する可能性があります。それは , これら
のリセット条件により,フラッシュメモリユニットが初期化されずに自動アルゴリズム
が続行し,リセット離脱後にCPUがシーケンスを開始したときフラッシュメモリユニッ
トが読出し状態になることが妨げられる可能性があるためです。これらのリセット条
件は , フラッシュメモリの書込み / 消去中に禁止されている必要があります。
● フラッシュメモリへのプログラムアクセス
自動アルゴリズム動作中は , フラッシュメモリへの読出しアクセスは禁止されます。
CPU のメモリアクセスモードが内蔵 ROM モードにセットされている場合 , プログラム
領域を RAM などの別の領域に切換え後 , 書込み / 消去を開始する必要があります。こ
の場合 , 割込みベクタを含むセクタ (SA4/SA6) が消去されると , 書込み / 消去割込み処
理を実行できません。
● ホールド機能
CPU がホールド要求を受け付けたとき , フラッシュメモリユニットの書込み信号 WE は
歪曲され , 不正な書込みによる不正な書込み / 消去が可能になります。ホールド要求の受
付けが許可 (ECSR の HDE ビットが "1" をセット ) されたとき , フラッシュメモリ制御ス
テータスレジスタ (FMCS) の WE ビットが必ず "0" になっているようにしてください。
● 拡張インテリジェント I/O サービス (EI2OS)
フラッシュメモリインタフェース回路から CPU に発行された書込み / 消去割込みは , EI2OS
には受付け不可能であり , 使用できません。
● VID の適用
セクタプロテクト動作に必要な VID の印加は , 電源が ON のとき開始し , 終了する必要
があります。
425
第 24 章 1M/2M ビットフラッシュ メモリ
24.9
フラッシュセキュリティの特長
フラッシュセキュリティコントローラ機能により , フラッシュメモリの内容を外部端
子から読み出されることを防止できます。
■ フラッシュセキュリティの特長
事前に定義されたフラッシュメモリのアドレスが,フラッシュセキュリティコントロー
ラ (1M ビットフラッシュメモリ : FE0001H, 2M ビットフラッシュメモリ : FC0001H) に
割り当てられます。このアドレスに保護コード "01H" が書き込まれると , フラッシュメ
モリへのアクセスが制限されます。フラッシュメモリが一度保護されると , チップ消去
を行うまで , 機能のロックを解除することはできません。ロックを解除しない限り , い
ずれの外部端子からもフラッシュメモリへの読出し / 書込みはできません。
この機能は,フラッシュメモリに格納される自己完結型プログラムやデータのセキュリ
ティを必要とするアプリケーションに適しています。マイクロコントローラの外部に
位置するプログラム部分を対象アプリケーションが必要とする場合には,フラッシュセ
キュリティコントローラは , 目的の機能を提供することができません。このため , 保護
コードを設定した場合は , 外部ベクタフェッチモードは使用しません。
標準パラレルプログラマによるフラッシュマイクロコントローラのプログラミングに
は , 独特のセットアップが必要になることがあります。例えば , ミナトエレクトロニク
スのプログラマでは , デバイスチェックを切断する必要があります。保護コードは , フ
ラッシュプログラミングの終わりにコーディングすることを推奨されます。これは , プ
ログラミング中の不要な保護を回避するためです。
一度保護されたフラッシュメモリを再度プログラムするには,チップ消去操作を行う必
要があります。
詳細については , 弊社担当者にお問い合わせください。
426
第 24 章 1M/2M ビットフラッシュ メモリ
24.10
1M/2M ビットフラッシュメモリのプログラム例
1M/2M ビットフラッシュメモリのプログラム例を掲載します。
■ 1M/2M ビットフラッシュメモリのプログラム例
NAME
FLASHWE
TITLE FLASHWE
;-----------------------------------------------------------------------------------------------------------------;1M/2Mbit-FLASH サンプルプログラム
;
;1: FLASH にあるプログラム ( アドレス FFC000H セクタ SA4/SA6) を RAM( アドレス
; 000700H) に転送する。
;2: RAM 上でプログラムを実行する。
;3: PDR1 の値を FLASH( アドレス FE0000H セクタ SA0/SA2) に書き込む。
;4: 書き込んだ値 ( アドレス FE0000H セクタ SA0/SA2) を読み出し PDR2 に出力する。
;5: 書き込んだセクタ (SA0/SA2) を消去する。
;6: 消去データ確認の出力
; 条件
;
・RAM 転送バイト数 : 100H(256B)
;
・書込み , 消去の終了判定
;
DQ5( タイミングリミット超過フラグ ) での判定
;
DQ6( トグルビットフラグ ) での判定
;
RDY(FMCS) での判定
;
・エラー時の処理
;
P00 ∼ P07 に Hi を出力する
;
リセットコマンド発行
;-----------------------------------------------------------------------------------------------------------------;
RESOUS IOSEG ABS=00
ORG
0000H
PDR0
RB
1
PDR1
RB
1
PDR2
RB
1
PDR3
RB
1
ORG
0010H
DDR0
RB
1
DDR1
RB
1
DDR2
RB
1
DDR3
RB
1
ORG
00A1H
RB
1
CKSCR
;"RESOUS"I/O セグメントの定義
427
第 24 章 1M/2M ビットフラッシュ メモリ
FMCS
ORG
00AEH
RB
1
ORG
006FH
ROMM
RB
RESOUS
ENDS
1
;
SSTA
SSEG
RW
0127H
STA_T
RW
1
SSTA
ENDS
;
DATA
DSEG
ABS=0FFH
ORG
5554H
COMADR2 RW
1
ORG
COMADR1 RW
DATA
;FLASH コマンドアドレス
0AAAAH
1
ENDS
;/////////////////////////////////////////////////////////////
; メインプログラム (SA1)
;/////////////////////////////////////////////////////////////
CODE
CSEG
START:
;/////////////////////////////////////////////////////
; 初期化
;/////////////////////////////////////////////////////
MOV
CKSCR,#0BAH
;3 逓倍に設定
MOV
RP,#0
MOV
A,#!STA_T
MOV
SSB,A
MOVW
A,#STA_T
MOVW
SP,A
MOV
ROMM,#00H
; ミラー OFF
MOV
PDR0,#00H
; エラー確認用
MOV
DDR0,#0FFH
MOV
PDR1,#00H
MOV
DDR1,#00H
MOV
PDR2,#00H
MOV
DDR2,#0FFH
; データ入力用ポート
; データ出力用ポート
;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
;RAM(700H番地)に"FLASH書込み消去プログラム(FFC000H)"を転送する
;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
428
MOVW
A,#0700H
; 転送先 RAM 領域
第 24 章 1M/2M ビットフラッシュ メモリ
MOVW
A,#0C000H
; 転送元アドレス ( プログラムのある位置 )
MOVW
RW0,#100H
; 転送するバイト数
MOVS
ADB,PCB
;FFBC00H から 000700H へ 100H 転送
CALLP
000700H
; 転送したプログラムのあるアドレスへジャンプ
;/////////////////////////////////////////////////////
; データ出力
;/////////////////////////////////////////////////////
OUT
MOV
A,#0FEH
MOV
ADB,A
MOVW
RW2,#0000H
MOVW
A,@RW2+00
MOV
PDR2,A
END
JMP
*
CODE
ENDS
;//////////////////////////////////////////////////////////////////
;FLASH 書込み消去プログラム (SA4/SA6)
;//////////////////////////////////////////////////////////////////
RAMPRG
CSEG
ABS=0FFH
ORG
0C000H
;
////////////////////////////////////////////
;
初期化
;
////////////////////////////////////////////
MOVW
RW0,#0500H
; RW0 : 入力データ確保用 RAM 空間
MOVW
RW2,#0000H
; RW2 : フラッシュメモリ書込みアドレス FD:0000 ∼
MOV
A,#00H
; DTB 変更
MOV
DTB,A
; @RW0 用バンク指定
MOV
A,#0FEH
; ADB 変更 1
MOV
ADB,A
; 書込みモード指定アドレス用バンク指定
MOV
PDR3,#00H
; スイッチ初期化
MOV
DDR3,#00H
BBC
PDR3:0,WAIT1 ;PDR3:0 Hi で書込みスタート
00:0500 ∼
;
WAIT1
;
;////////////////////////////////////////////////
; 書込み (SA0/SA2)
;////////////////////////////////////////////////
MOV
A,PDR1
MOVW
@RW0+00,A
;RAM に PDR1 データを確保
MOV
FMCS,#20H
; 書込みモード設定
MOVW
ADB:COMADR1,#00AAH
; フラッシュ書込みコマンド 1
MOVW
ADB:COMADR2,#0055H
; フラッシュ書込みコマンド 2
MOVW
ADB:COMADR1,#00A0H
; フラッシュ書込みコマンド 3
429
第 24 章 1M/2M ビットフラッシュ メモリ
;
MOVW
A,@RW0+00
; 入力データ (RW0) をフラッシュ
メモリ (RW2) に書き込む
;
MOVW
WRITE
; 待ち時間チェック
;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
;
タイムリミット超過チェック - フラグが立ちトグル動作中であるとき ERROR
;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@RW2+00,A
MOVW
A,@RW2+00
AND
A,#20H
;DQ5 タイムリミットチェック
BZ
NTOW
; タイムリミットオーバ
MOVW
A,@RW2+00
;AH
MOVW
A,@RW2+00
;AL
XORW
A
;AH AL の XOR( 値が違えば 1)
AND
A,#40H
;DQ6 トグルビットは違っているか
BNZ
ERROR
; 違えば ERROR へ
;
/////////////////////////////////////////////////////
;
書込み終了チェック (FMCS-RDY)
;
//////////////////////////////////////////////////////
NTOW
MOVW
A,FMCS
AND
A,#10H
;FMCS RDY ビット (4 ビット ) 抽出
BZ
WRITE
; 書込み終了か ?
MOV
FMCS,#00H
; 書込みモード解除
;/////////////////////////////////////////////////////
; 書込みデータ出力
;/////////////////////////////////////////////////////
MOVW
RW2,#0000H
MOVW
A,@RW2+00
MOV
PDR2,A
BBC
PDR3:1,WAIT2
; 書込みデータ出力
;
WAIT2
;PDR3:1 Hi でセクタ消去スタート
;
;/////////////////////////////////////////////
; セクタ消去 (SA0/SA2)
;/////////////////////////////////////////////
430
MOV
@RW2+00,#0000H
; アドレス初期化
MOV
FMCS,#20H
; 消去モード設定
MOVW
ADB:COMADR1,#00AAH ; フラッシュ消去コマンド 1
MOVW
ADB:COMADR2,#0055H ; フラッシュ消去コマンド 2
MOVW
ADB:COMADR1,#0080H ; フラッシュ消去コマンド 3
MOVW
ADB:COMADR1,#00AAH ; フラッシュ消去コマンド 4
MOVW
ADB:COMADR2,#0055H ; フラッシュ消去コマンド 5
第 24 章 1M/2M ビットフラッシュ メモリ
MOV
; 消すセクタに消去コマンド発行 6
ELS
; 待ち時間チェック
;
////////////////////////////////////////////////////////////////////////////////////////////////////////////
@RW2+00,#0030H
;
タイムリミット超過チェック - フラグが立ちトグル動作中であるとき ERROR
;
////////////////////////////////////////////////////////////////////////////////////////////////////////////
MOVW
A,@RW2+00
AND
A,#20H
;DQ5 タイムリミットチェック
BZ
NTOE
; タイムリミットオーバ
MOVW
A,@RW2+00
;AH 書込み動作中は , DQ6 から
MOVW
A,@RW2+00
;AL 読出しごとHi Lowが交互出力される
XORW
A
;AH と AL の XOR (DQ6 の値が違えば
1 書込み動作中である )
;
AND
A,#40H
;DQ6 トグルビットは Hi か
BNZ
ERROR
;Hi なら ERROR へ
;
//////////////////////////////////////////////////
;
消去終了チェック (FMCS-RDY)
;
//////////////////////////////////////////////////
NTOE
MOVW
A,FMCS
;
AND
A,#10H
;FMCS RDY ビット (4 ビット ) 抽出
BZ
ELS
; セクタ消去終了か ?
MOV
FMCS,#00H
;FLASH 消去モード解除
RETP
; メインプログラムに戻る
;//////////////////////////////////////////////
; エラー
;//////////////////////////////////////////////
ERROR
MOV
ADB:COMADR1,#0F0H
; リセットコマンド(読出しが可能になる)
MOV
FMCS,#00H
;FLASH モード解除
MOV
PDR0,#0FFH
; エラー処理の確認
; メインプログラムに戻る
RETP
RAMPRG ENDS
;/////////////////////////////////////////////
VECT
VECT
CSEG
ABS=0FFH
ORG
0FFDCH
DSL
START
DB
00H
ENDS
;
END
START
431
第 24 章 1M/2M ビットフラッシュ メモリ
432
第 25 章
MB90F543/F549/F543G(S)/
F548G(S)/F549G(S)/
F546G(S)/F548GL(S)
シリアル書込み接続例
横河ディジタルコンピュータ株式会社製 AF220/
AF210/AF120/AF110 フラッシュマイコンプログラ
マを用いた場合のシリアル書込みの接続例につい
て説明します。
25.1 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/
F546G(S)/F548GL(S) シリアル書込み接続の基本構成
25.2 シリアル書込み接続例 ( ユーザ電源使用時 )
25.3 シリアル書込み接続例 ( ライタから電源供給時 )
25.4 フラッシュマイコンプログラマとの最小限の接続例
( ユーザ電源使用時 )
25.5 フラッシュマイコンプログラマとの最小限の接続例
( ライタから電源供給時 )
433
第 25 章 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) シリアル書込み接続例
25.1
MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/
F546G(S)/F548GL(S) シリアル書込み接続の基本構成
MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) では , フラッ
シュ ROM のシリアルオンボード書込み ( 富士通標準 ) をサポートしています。その
仕様について以下に説明します。
■ B90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) シリアル
書込み接続の基本構成
富士通標準シリアルオンボード書込みには , 横河ディジタルコンピュータ株式会社製
AF220/AF210/AF120/AF110 フラッシュマイコンプログラマを使用します。
図 25.1-1 に , MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) シリア
ル書込み接続の基本構成を示します。
図 25.1-1 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S)
シリアル書込み接続の基本構成
ホストインタフェースケーブル
汎用共通ケーブル(AZ210)
RS232C
AF220/AF210/
AF120/AF110
フラッシュマイ
コンプログラマ
+
メモリカード
CLK同期シリアル
MB90F543/F549/
F543G(S)/F548G(S)/
F549G(S)/F546G(S)/
F548GL(S)
ユーザシステム
スタンドアロンで動作可能
<注意事項>
AF220/AF210/AF120/AF110 フラッシュマイコンプログラマの機能 , 操作方法 , 接続用汎
用共通ケーブル (AZ210) およびコネクタについては , 横河ディジタルコンピュータ株式会
社にお問合せください。
434
第 25 章 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) シリアル書込み接続例
表 25.1-1 富士通標準シリアルオンボード書込みに使用する端子
端 子
機 能
MD2, MD1,
MD0
モード端子
X0, X1
発振子用端子
P00, P01
書込みプログラム起動端子
RST
リセット端子
SIN1
シリアルデータ入力端子
補足説明
フラッシュマイコンプログラマから , 書込みモードに制御します。
書込みモード時に , CPU 内部動作クロックは PLL クロック 1 逓倍
となっております。したがって , 発振クロック周波数が , 内部動
作クロックとなります。
P00 に "L" レベルを , P01 に "H" レベルを入力してください。
UART1 を CLK 同期モードとして使用します。
SOT1
シリアルデータ出力端子
SCK1
シリアルクロック入力端子
C
C 端子
電源安定化の容量端子です。外部に 0.1 µF 程度のセラミックコン
デンサを接続してください。
VCC
電源電圧供給端子
書込み電圧 (5V ± 10%) をユーザシステムから供給する場合には
フラッシュマイコンプログラマとの接続は必要ありません。接続
時にはユーザ側の電源と短絡しないようにしてください。
VSS
GND 端子
HST
フラッシュマイコンプログラマの GND と共通にします。
ハードウェアスタンバイ端子 シリアル書込みモード中は "H" レベルを入力してください。
なお , P00, SIN1, SOT1, SCK1 端子をユーザシステムでも使用する場合には , 図 25.1-2 に
示す制御回路が必要となります ( フラッシュマイコンプログラマの /TICS 信号により ,
シリアル書込み中はユーザ回路を切り離すことができます )。
図 25.1-2 制御回路
AF220/AF210/AF120/AF110
書込み制御端子
MB90F543/F549/
F543G(S)/F548G(S)/
F549G(S)/F546G(S)/
F548GL(S)
書込み制御端子
10 kΩ
AF220/AF210/AF120/AF110
/TICS端子
ユーザ回路
「25.2 シリアル書込み接続例 ( ユーザ電源使用時 )」以降に , 次の 4 つのシリアル書込
み接続例を示していますので参照してください。
• MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S)内部ベクタモード
時 シリアル書込み接続例 ( ユーザ電源使用時 )
• MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S)内部ベクタモード
時 シリアル書込み接続例 ( ライタから電源供給時 )
• フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )
• フラッシュマイコンプログラマとの最小限の接続例 ( ライタから電源供給時 )
435
第 25 章 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) シリアル書込み接続例
表 25.1-2 フラッシュマイコンプログラマシステム構成 ( 横河ディジタルコンピュータ株式会社製 )
型 格
本体
機 能
AF220/AC4P
イーサネットインタフェース内蔵モデル /100 V ∼ 220 V 電源アダプタ
AF210/AC4P
スタンダードモデル /100V ∼ 220V 電源アダプタ
AF120/AC4P
単キーイーサネットインタフェースモデル /100 V ∼ 220 V 電源アダプタ
AF110/AC4P
単キーモデル /100 V ∼ 220 V 電源アダプタ
AZ221
ライタ専用 PC/AT 用 RS232C ケーブル
AZ210
標準ターゲットプローブ (a) 長さ :1m
FF201
富士通製 F2MC-16LX フラッシュマイコン用制御モジュール
AZ290
リモートコントローラ
/P2
2M バイト PC Card (Option) フラッシュメモリ容量∼ 128K バイト対応
/P4
4M バイト PC Card (Option) フラッシュメモリ容量∼ 512K バイト対応
問い合せ先 : 横河ディジタルコンピュータ株式会社
電話 :042-333-6224
<注意事項>
AF200フラッシュマイコンプログラマについては,終息製品ですが,制御モジュールFF201
を用いることで対応可能です。シリアル書込み接続例に関しては ,「■ 発振クロック周波
数とシリアルクロック入力周波数」に示した接続例にて対応可能です。
■ 発振クロック周波数とシリアルクロック入力周波数
MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) の入力可能なシリア
ルクロック周波数は以下の計算式より求まります。
入力可能なシリアルクロック周波数 = 0.125 ×発振クロック周波数
したがって , ご使用の発振クロック周波数によって , シリアルクロック入力周波数をフ
ラッシュマイコンプログラマの設定にて変更してください。
表 25.1-3 入力可能なシリアルクロック周波数の例
発振クロック周波数
マイコンの入力可能な最大
シリアルクロック周波数
AF220/AF210/AF120/AF110
の設定可能な最大シリアル
クロック周波数
AF200 の設定可能な最大
シリアルクロック周波数
4 MHz 時
500 kHz
500 kHz
500 kHz
8 MHz 時
1 MHz
850 kHz
500 kHz
16 MHz 時
2 MHz
1.25 MHz
500 kHz
436
第 25 章 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) シリアル書込み接続例
25.2
シリアル書込み接続例 ( ユーザ電源使用時 )
図 25.2-1 に , マイコンの電源電圧をユーザ電源より供給する場合のシリアル書込み
接続例を示します。なお , モード端子 MD2, MD0 には , AF220/AF210/AF120/AF110
の TAUX3, TMODE より , MD2 = 1, MD0 = 0 が入力されます。
シリアル書換えモード : MD2, MD1, MD0 = 110B
■ シリアル書込み接続例 ( ユーザ電源使用時 )
図 25.2-1 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S)
シングルチップモード時シリアル書込み接続例 ( ユーザ電源使用時 )
AF220/AF210/AF120/AF110
フラッシュマイコン
プログラマ
TAUX3
MB90F543/F549/
F543G(S)/F548G(S)/
F549G(S)/F546G(S)/
F548GL(S)
ユーザシステム
コネクタ
DX10-28S
(19)
MD2
1O kΩ
1O kΩ
MD1
1O kΩ
TMODE
(12)
MD0
X0
X1
TAUX
(23)
P00
1O kΩ
/TICS
(10)
ユーザ
1O kΩ
HST
1O kΩ
/TRES
1O kΩ
(5)
RST
1O kΩ
P01
ユーザ
0.1 µF
C
TTXD
TRXD
TCK
(13)
(27)
(6)
SIN1
SOT1
SCK1
TVcc
(2)
Vcc
GND
(7,8,
14,15,
21,22,
1,28)
ユーザ電源
・3,4,9,11,16,17,18,20,24,25,26ピンはOPEN
・DX10-28S:ライトアングルタイプ
Vss
14ピン
1ピン
DX10-28S
28ピン
15ピン
コネクタ(ヒロセ電機製)のピン配列
437
第 25 章 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) シリアル書込み接続例
• SIN1, SOT1, SCK1 端子をユーザシステムでも使用する場合には , P00 と同様に , 下
図に示す制御回路が必要となります ( フラッシュマイコンプログラマの /TICS 信号
により , シリアル書込み中はユーザ回路を切り離すことができます )。
AF220/AF210/AF120/AF110
書込み制御端子
MB90F543/F549/
F543G(S)/F548G(S)/
F549G(S)/F546G(S)/
F548GL(S)
書込み制御端子
10 kΩ
AF220/AF210/AF120/AF110
/TICS端子
ユーザ回路
• AF220/AF210/AF120/AF110 との接続はユーザ電源が OFF の状態で行ってください。
438
第 25 章 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) シリアル書込み接続例
25.3
シリアル書込み接続例 ( ライタから電源供給時 )
図 25.3-1 に , マイコンの電源電圧をライタ電源より供給する場合のシリアル書込み
接続例を示します。なお , モード端子 MD2, MD0 には , AF220/AF210/AF120/AF110
の TAUX3, TMODE より , MD2 = 1 , MD0 = 0 が入力されます。
シリアル書換えモード : MD2, MD1, MD0 = 110B
■ シリアル書込み接続例 ( ライタから電源供給時 )
図 25.3-1 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S)
シングルチップモード時シリアル書込み接続例 ( ライタから電源供給時 )
AF220/AF210/AF120/AF110
フラッシュマイコン
プログラマ
TAUX3
MB90F543/F549/
F543G(S)/F548G(S)/
F549G(S)/F546G(S)/
F548GL(S)
ユーザシステム
コネクタ
DX10-28S
(19)
MD2
MD1
TMODE
(12)
MD0
X0
X1
TAUX
(23)
/TICS
(10)
P00
ユーザ
ユーザ
/TRES
HST
(5)
RST
ユーザ
P01
C
TTXD
TRXD
TCK
TVcc
Vcc
TVPP1
(13)
(27)
(6)
(2)
(3)
(16)
GND
(7,8,
14,15,
21,22,
1,28)
SIN1
SOT1
SCK1
Vcc
Vss
14ピン
1ピン
・4,9,11,17,18,20,24,25,26ピンはOPEN
・DX10-28S:ライトアングルタイプ
DX10-28S
28ピン
15ピン
コネクタ(ヒロセ電機製)のピン配列
439
第 25 章 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) シリアル書込み接続例
• SIN1, SOT1, SCK1 端子をユーザシステムでも使用する場合には , P00 と同様に , 下
図に示す制御回路が必要となります ( フラッシュマイコンプログラマの /TICS 信号
により , シリアル書込み中はユーザ回路を切り離すことができます )。
AF220/AF210/AF120/AF110
書込み制御端子
MB90F543/F549/
F543G(S)/F548G(S)/
F549G(S)/F546G(S)/
F548GL(S)
書込み制御端子
10 k
AF220/AF210/AF120/AF110
/TICS端子
ユーザ回路
• AF220/AF210/AF120/AF110 との接続はユーザ電源が OFF の状態で行ってください。
• 書込み電源をAF220/AF210/AF120/AF110から供給するときはユーザ電源と短絡しな
いでください。
440
第 25 章 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) シリアル書込み接続例
25.4
フラッシュマイコンプログラマとの最小限の接続例
( ユーザ電源使用時 )
図 25.4-1 に , マイコンの電源電圧をユーザ電源より供給する場合のフラッシュマイ
コンプログラマとの最小限の接続例を示します。
シリアル書換えモード : MD2, MD1, MD0 = 110B
■ フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )
フラッシュメモリ書込み時に,各端子を図 25.4-1 に示すように設定すると, MD2, MD1, MD0,
P00 とフラッシュマイコンプログラマとの接続は必要ありません。
図 25.4-1 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S)
フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 )
AF220/AF210/AF120/AF110
フラッシュマイコン
プログラマ
ユーザシステム
シリアル書換え時1
10 kΩ
MB90F543/F549/
F543G(S)/F548G(S)/
F549G(S)/F546G(S)/
F548GL(S)
MD2
シリアル書換え時1
10 kΩ
10 kΩ
MD1
10 kΩ
10 kΩ
MD0
シリアル書換え時0
10 kΩ
X0
X1
10 kΩ
P00
10kΩ
シリアル書換え時0
ユーザ回路
P01
シリアル書換え時1
ユーザ回路
10 kΩ
HST
C
0.1 µF
コネクタ
DX10-28S
/TRES
TTXD
TRXD
TCK
TVcc
GND
10 kΩ
(5)
(13)
(27)
(6)
(2)
(7,8,
14,15,
21,22,
1,28)
RST
SIN1
SOT1
SCK1
Vcc
ユーザ電源
・3,4,9,10,11,12,16,17,18,19,20,23,24,25,26
ピンはOPEN
・DX10-28S:ライトアングルタイプ
Vss
14ピン
1ピン
DX10-28S
28ピン
15ピン
コネクタ(ヒロセ電機製)のピン配列
441
第 25 章 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) シリアル書込み接続例
• SIN1, SOT1, SCK1 端子をユーザシステムでも使用する場合には , 下図に示す制御回
路が必要となります ( フラッシュマイコンプログラマの /TICS 信号により , シリア
ル書込み中はユーザ回路を切り離すことができます )。
AF220/AF210/AF120/AF110
書込み制御端子
MB90F543/F549/
F543G(S)/F548G(S)/
F549G(S)/F546G(S)/
F548GL(S)
書込み制御端子
10 kΩ
AF220/AF210/AF120/AF110
/TICS端子
ユーザ回路
• AF220/AF210/AF120/AF110 との接続はユーザ電源が OFF の状態で行ってください。
442
第 25 章 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) シリアル書込み接続例
25.5
フラッシュマイコンプログラマとの最小限の接続例
( ライタから電源供給時 )
図 25.5-1 に , マイコンの電源電圧をライタ電源より供給する場合のフラッシュマイ
コンプログラマとの最小限の接続例を示します。
シリアル書換えモード : MD2, MD1, MD0 = 110B
■ フラッシュマイコンプログラマとの最小限の接続例 ( ライタから電源供給時 )
フラッシュメモリ書込み時に各端子を図 25.5-1 に示すように設定すれば, MD2∼MD0,
P00 とフラッシュマイコンプログラマとの接続は必要ありません。
図 25.5-1 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S)
フラッシュマイコンプログラマとの最小限の接続例 ( ライタから電源供給時 )
AF220/AF210/AF120/AF110
フラッシュマイコン
プログラマ
ユーザシステム
シリアル書換え時1
10 kΩ
MB90F543/F549/
F543G(S)/F548G(S)/
F549G(S)/F546G(S)/
F548GL(S)
MD2
シリアル書換え時1
10 kΩ
10 kΩ
MD1
10 kΩ
10 kΩ
シリアル書換え時0
10 kΩ
MD0
X0
X1
10 kΩ
P00
10 kΩ
シリアル書換え時0
ユーザ回路
P01
シリアル書換え時1
ユーザ回路
10 kΩ
HST
C
コネクタ
DX10-28S
/TRES
TTXD
TRXD
TCK
TVcc
Vcc
TVPP1
GND
(5)
(13)
(27)
(6)
0.1 µF
10 kΩ
RST
SIN1
SOT1
SCK1
(2)
(3)
(16)
Vcc
(7,8,
14,15,
21,22,
1,28)
Vss
・3,4,9,10,11,12,17,18,19,20,23,24,25,26
ピンはOPEN
・DX10-28S:ライトアングルタイプ
14ピン
1ピン
DX10-28S
28ピン
15ピン
コネクタ(ヒロセ電機製)のピン配列
443
第 25 章 MB90F543/F549/F543G(S)/F548G(S)/F549G(S)/F546G(S)/F548GL(S) シリアル書込み接続例
• SIN1, SOT1, SCK1 端子をユーザシステムでも使用する場合には , 下図に示す制御回
路が必要となります ( フラッシュマイコンプログラマの /TICS 信号により , シリア
ル書込み中はユーザ回路を切り離すことができます )。
AF220/AF210/AF120/AF110
書込み制御端子
MB90F543/F549/
F543G(S)/F548G(S)/
F549G(S)/F546G(S)/
F548GL(S)
書込み制御端子
10 kΩ
AF220/AF210/AF120/AF110
/TICS端子
ユーザ回路
• AF220/AF210/AF120/AF110 との接続はユーザ電源が OFF の状態で行ってください。
• 書込み電源をAF220/AF210/AF120/AF110から供給するときはユーザ電源と短絡しな
いでください。
444
付録
I/O マップ , 命令一覧表などを掲載します。
付録 A I/O マップ
付録 B 命令
445
付録
付録 A
I/O マップ
本マイクロコントローラの各リソースのレジスタは , 以下のようなアドレスが割り当
てられています。
■ I/O マップ
付表 A-1 I/O マップ (1 / 6)
アドレス
レジスタ
000000H ポートデータレジスタ ( ポート 0 用 )
000001H ポートデータレジスタ ( ポート 1 用 )
略称
アクセス
リソース
PDR0
R/W
ポート 0
初期値
XXXXXXXXB
PDR1
R/W
ポート 1
XXXXXXXXB
000002H ポートデータレジスタ ( ポート 2 用 )
000003H ポートデータレジスタ ( ポート 3 用 )
PDR2
R/W
ポート 2
XXXXXXXXB
PDR3
R/W
ポート 3
XXXXXXXXB
000004H ポートデータレジスタ ( ポート 4 用 )
000005H ポートデータレジスタ ( ポート 5 用 )
PDR4
R/W
ポート 4
XXXXXXXXB
PDR5
R/W
ポート 5
XXXXXXXXB
000006H ポートデータレジスタ ( ポート 6 用 )
000007H ポートデータレジスタ ( ポート 7 用 )
PDR6
R/W
ポート 6
XXXXXXXXB
PDR7
R/W
ポート 7
XXXXXXXXB
000008H ポートデータレジスタ ( ポート 8 用 )
000009H ポートデータレジスタ ( ポート 9 用 )
PDR8
R/W
ポート 8
XXXXXXXXB
PDR9
R/W
ポート 9
XXXXXXXXB
00000AH ポートデータレジスタ ( ポート A 用 )
00000BH ∼
00000FH
PDRA
R/W
ポート A
- - - - - - - XB
000010H ポート方向レジスタ ( ポート 0 用 )
000011H ポート方向レジスタ ( ポート 1 用 )
DDR0
R/W
ポート 0
00000000B
DDR1
R/W
ポート 1
00000000B
000012H ポート方向レジスタ ( ポート 2 用 )
000013H ポート方向レジスタ ( ポート 3 用 )
DDR2
R/W
ポート 2
00000000B
DDR3
R/W
ポート 3
00000000B
000014H ポート方向レジスタ ( ポート 4 用 )
000015H ポート方向レジスタ ( ポート 5 用 )
DDR4
R/W
ポート 4
00000000B
DDR5
R/W
ポート 5
00000000B
000016H ポート方向レジスタ ( ポート 6 用 )
000017H ポート方向レジスタ ( ポート 7 用 )
DDR6
R/W
ポート 6
00000000B
DDR7
R/W
ポート 7
00000000B
000018H ポート方向レジスタ ( ポート 8 用 )
000019H ポート方向レジスタ ( ポート 9 用 )
DDR8
R/W
ポート 8
00000000B
DDR9
R/W
ポート 9
00000000B
00001AH ポート方向レジスタ ( ポート A 用 )
DDRA
00001BH アナログ入力許可レジスタ ( ポート 6 用 ) ADER
00001CH プルアップ制御レジスタ ( ポート 0 用 )
PUCR0
R/W
ポート A
R/W
ポート 6, A/D
- - -- - - - 0B
11111111B
R/W
ポート 0
00000000B
00001DH プルアップ制御レジスタ ( ポート 1 用 )
00001EH プルアップ制御レジスタ ( ポート 2 用 )
PUCR1
R/W
ポート 1
00000000B
PUCR2
R/W
ポート 2
00000000B
00001FH プルアップ制御レジスタ ( ポート 3 用 )
000020H シリアルモード制御レジスタ 0
PUCR3
R/W
ポート 3
00000000B
UMC0
W, R/W
00000100B
00010000B
000021H シリアルステータスレジスタ 0
シリアルインプットデータレジスタ 0/
000022H
シリアルアウトプットデータレジスタ 0
000023H レート・データレジスタ 0
446
予約領域
USR0
R, R/W
UIDR0/
UODR0
R/W
URD0
R/W
UART0
XXXXXXXXB
0000000XB
付録 A I/O マップ
付表 A-1 I/O マップ (2 / 6)
アドレス
レジスタ
000024H シリアルモードレジスタ 1
000025H シリアル制御レジスタ 1
SMR1
R/W
初期値
00000000B
SCR1
W, R/W
00000100B
シリアルインプットデータレジスタ 1/
シリアルアウトプットデータレジスタ 1
000027H シリアルステータスレジスタ 1
000028H UART1 通信プリスケーラ制御レジスタ
000029H シリアルエッジセレクトレジスタ
SIDR1/
SODR1
R/W
00002AH
使用禁止
SCDCR
R/W
000026H
00002BH シリアル I/O プリスケーラ
00002CH
シリアルモード制御ステータスレジスタ
00002DH
00002EH シリアルシフトデータレジスタ
00002FH シリアルエッジセレクトレジスタ
000030H DTP/ 外部割込み許可レジスタ
000031H DTP/ 外部割込み要因レジスタ
000032H
略称
アクセス
R, R/W
00001-00B
R/W
SES1
R/W
0---1111B
- - -- - - - 0 B
SMCS
R/W
R/W
XXXXXXXXB
- - -- - - - 0 B
00000000B
ENIR
R/W
EIRR
R/W
ADCS1
R/W
000036H A/D データレジスタ 0
000037H A/D データレジスタ 1
ADCR0
R
ADCR1
R, W
000038H PPG0 動作モード制御レジスタ
000039H PPG1 動作モード制御レジスタ
PPGC0
W, R/W
PPGC1
W, R/W
00003AH PPG ユニット 0 クロック選択レジスタ
00003BH
PPG01
R/W
000042H PPG ユニット 2 クロック選択レジスタ
000043H
000044H PPG6 動作モード制御レジスタ
000045H PPG7 動作モード制御レジスタ
000046H PPG ユニット 3 クロック選択レジスタ
000047H ∼
00004BH
00000010B
R/W
R/W
000040H PPG4 動作モード制御レジスタ
000041H PPG5 動作モード制御レジスタ
シリアル I/O
SDR
ADCS0
00003EH PPG ユニット 1 クロック選択レジスタ
00003FH
0---1111B
----0000B
SES2
000034H A/D 制御ステータスレジスタ 0
000035H A/D 制御ステータスレジスタ 1
00003CH PPG2 動作モード制御レジスタ
00003DH PPG3 動作モード制御レジスタ
XXXXXXXXB
SSR1
R/W
要求レベル設定レジスタ
UART1
CDCR
ELVR
000033H
リソース
予約領域
PPGC2 W, R/W
PPGC3
W, R/W
PPG23
R/W
使用禁止
PPGC4 W, R/W
PPGC5
W, R/W
PPG45
R/W
使用禁止
PPGC6
R/W
PPGC7
R/W
PPG67
R/W
DTP/ 外部
割込み
XXXXXXXXB
00000000B
00000000B
00000000B
A/D
コンバータ
00000000B
XXXXXXXXB
00001-XXB
PPG
(ch0, ch1)
ユニット 0
PPG
(ch2, ch3)
ユニット 1
PPG
(ch4, ch5)
ユニット 2
PPG
(ch6, ch7)
ユニット 3
0-000--1B
0-000001B
000000--B
0-000--1B
0-000001B
000000--B
0-000--1B
0-000001B
000000--B
0-000--1B
0-000001B
000000--B
使用禁止
00004CH インプットキャプチャ制御
ステータスレジスタ 0/1
ICS01
R/W
00004DH インプットキャプチャ制御
ステータスレジスタ 2/3
ICS23
R/W
00004EH インプットキャプチャ制御
ステータスレジスタ 4/5
ICS45
R/W
00004FH インプットキャプチャ制御
ステータスレジスタ 6/7
ICS67
R/W
インプット
キャプチャ
0/1
インプット
キャプチャ
2/3
インプット
キャプチャ
4/5
インプット
キャプチャ
6/7
00000000B
00000000B
00000000B
00000000B
447
付録
付表 A-1 I/O マップ (3 / 6)
アドレス
000050H
略称
アクセス
リソース
TMCSR0
R/W
000052H 16 ビットタイマレジスタ 0/
000053H 16 ビットタイマリロードレジスタ 0
000054H
タイマ制御ステータスレジスタ 1
000055H
TMR0/
TMRLR0
R/W
16 ビット
リロード
タイマ 0
TMCSR1
R/W
000056H 16 ビットタイマレジスタ 1/
000057H 16 ビットタイマリロードレジスタ 1
000058H アウトプットコンペア制御レジスタ 0
TMR1/
TMRLR1
R/W
000059H アウトプットコンペア制御レジスタ 1
00005AH アウトプットコンペア制御レジスタ 2
OCS1
00005BH アウトプットコンペア制御レジスタ 3
00005CH ∼
00006BH
OCS3
000051H
00006CH
レジスタ
タイマ制御ステータスレジスタ 0
OCS0
OCS2
R/W
アウトプット
コンペア 0/1
R/W
アウトプット
コンペア 2/3
TCDT
R/W
00006EH タイマカウンタ制御ステータスレジスタ
TCCS
R/W
ROMM
W
00006FH ROM ミラー機能選択レジスタ
入出力タイマ
ROM ミラー
機能選択
モジュール
000080H ∼
00008FH
予約領域 (CAN1 インタフェース用 )
000090H ∼
00009DH
使用禁止
0000A0H 低消費電力モード制御レジスタ
0000A1H クロック選択レジスタ
0000A2H ∼
0000A4H
PACSR
R/W
DIRR
R/W
LPMCR
R/W
CKSCR
R/W
HACR
0000A7H バス制御信号選択レジスタ
ECSR
0000A8H ウォッチドッグタイマ制御レジスタ
WDTC
R/W
0000A9H タイムベースタイマ制御レジスタ
TBTC
R/W
0000AAH 時計タイマ制御レジスタ
0000ABH
WTC
R/W
0000AEH フラッシュメモリ制御
ステータスレジスタ
0000AFH
448
XXXXXXXXB
0000--00B
---00000B
0000--00B
---00000B
00000000B
アドレス一致
検出機能
遅延割込み
発生
モジュール
- - -- - - - 1 B
00000000B
- - -- - - - 0 B
低消費電力
制御回路
00011000B
外部メモリ
アクセス
00000000B
11111100B
使用禁止
0000A5H 自動レディ機能選択レジスタ
0000A6H 外部アドレス出力制御レジスタ
∼
0000ADH
----0000B
XXXXXXXXB
00000000B
予約領域 (CAN0 インタフェース用 )
00009FH 遅延割込み要因発生 / 解除レジスタ
XXXXXXXXB
00000000B
00000000B
000070H ∼
00007FH
00009EH プログラムアドレス検出制御ステータス
レジスタ
----0000B
XXXXXXXXB
使用禁止
タイマカウンタデータレジスタ
00006DH
16 ビット
リロード
タイマ 1
初期値
00000000B
ARSR
W
ウォッチ
ドッグ
タイマ
タイムベース
タイマ
時計タイマ
0011--00B
0000000-B
XXXXX1 1 1 B
1--00100B
1X000000B
使用禁止
FMCS
R/W
使用禁止
フラッシュ
メモリ
000X0000B
付録 A I/O マップ
付表 A-1 I/O マップ (4 / 6)
アドレス
レジスタ
略称
アクセス
0000B0H 割込み制御レジスタ 00
ICR00
R/W
0000B1H 割込み制御レジスタ 01
ICR01
R/W
0000B2H 割込み制御レジスタ 02
ICR02
R/W
0000B3H 割込み制御レジスタ 03
ICR03
R/W
0000B4H 割込み制御レジスタ 04
ICR04
R/W
0000B5H 割込み制御レジスタ 05
ICR05
R/W
0000B6H 割込み制御レジスタ 06
ICR06
R/W
0000B7H 割込み制御レジスタ 07
ICR07
R/W
0000B8H 割込み制御レジスタ 08
ICR08
R/W
0000B9H 割込み制御レジスタ 09
ICR09
R/W
書込み時 0 0 0 0 0 1 1 1 B
読込み時 - - 0 0 0 1 1 1 B
0000BAH 割込み制御レジスタ 10
ICR10
R/W
書込み時 0 0 0 0 0 1 1 1 B
読込み時 - - 0 0 0 1 1 1 B
0000BBH 割込み制御レジスタ 11
ICR11
R/W
書込み時 0 0 0 0 0 1 1 1 B
読込み時 - - 0 0 0 1 1 1 B
0000BCH 割込み制御レジスタ 12
ICR12
R/W
書込み時 0 0 0 0 0 1 1 1 B
読込み時 - - 0 0 0 1 1 1 B
0000BDH 割込み制御レジスタ 13
ICR13
R/W
書込み時 0 0 0 0 0 1 1 1 B
読込み時 - - 0 0 0 1 1 1 B
0000BEH 割込み制御レジスタ 14
ICR14
R/W
書込み時 0 0 0 0 0 1 1 1 B
読込み時 - - 0 0 0 1 1 1 B
0000BFH 割込み制御レジスタ 15
ICR15
R/W
書込み時 0 0 0 0 0 1 1 1 B
読込み時 - - 0 0 0 1 1 1 B
0000C0H ∼
0000FFH
PADR0
読込み時 - - 0 0 0 1 1 1 B
書込み時 0 0 0 0 0 1 1 1 B
読込み時 - - 0 0 0 1 1 1 B
書込み時 0 0 0 0 0 1 1 1 B
読込み時 - - 0 0 0 1 1 1 B
書込み時 0 0 0 0 0 1 1 1 B
読込み時 - - 0 0 0 1 1 1 B
書込み時 0 0 0 0 0 1 1 1 B
読込み時 - - 0 0 0 1 1 1 B
書込み時 0 0 0 0 0 1 1 1 B
読込み時 - - 0 0 0 1 1 1 B
書込み時 0 0 0 0 0 1 1 1 B
読込み時 - - 0 0 0 1 1 1 B
書込み時 0 0 0 0 0 1 1 1 B
読込み時 - - 0 0 0 1 1 1 B
割込み
コントローラ 書込み時 0 0 0 0 0 1 1 1 B
読込み時 - - 0 0 0 1 1 1 B
R/W
XXXXXXXXB
R/W
XXXXXXXXB
R/W
001FF3H
001FF4H プログラムアドレス検出レジスタ 1
001FF5H
初期値
書込み時 0 0 0 0 0 1 1 1 B
外部領域
001FF0H
001FF1H プログラムアドレス検出レジスタ 0
001FF2H
リソース
R/W
PADR1
アドレス一致
検出機能
XXXXXXXXB
XXXXXXXXB
R/W
XXXXXXXXB
R/W
XXXXXXXXB
・初期値について→ 0: 初期値 "0" / 1: 初期値 "1" / X: 初期値不定 / "-": 初期値不定 ( 無し )
・00FFH 以下のアドレスは予約領域です。外バスアクセス信号はできません。
・RAM 領域と予約領域の境界 #H は品種ごとに変わります。
( 注意事項 ) 書込み可能なビットに関しては , リセットにより初期化される値が初期値として記述されています。
読出し時の値ではありませんので注意してください。
また , LPMCR/CKSCR/WDTC では , リセットの種類により , 初期化される場合と , 初期化されない場合
がありますが , 初期化される場合の初期値が記述されています。
・コンペアレジスタ 0 ∼ 3 はフリーランタイマ 2 を , コンペアレジスタ 4 ∼ 7 はフリーランタイマ 1 を使用します。
なお , フリーランタイマ 1 はインプットキャプチャでも使用します。
449
付録
付表 A-1 I/O マップ (5 / 6)
アドレス
レジスタ
003900H リロードレジスタ L
003901H リロードレジスタ H
003902H リロードレジスタ L
003903H リロードレジスタ H
略称
アクセス
PRLL0
R/W
PRLH0
R/W
PRLL1
003904H リロードレジスタ L
003905H リロードレジスタ H
R/W
リソース
PPG(ch0, ch1)
ユニット 0
初期値
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
PRLH1
R/W
XXXXXXXXB
PRLL2
R/W
XXXXXXXXB
XXXXXXXXB
PRLH2
R/W
PRLL3
R/W
PRLH3
R/W
PRLL4
R/W
XXXXXXXXB
PRLH4
R/W
XXXXXXXXB
PPG(ch2, ch3)
ユニット 1
003906H リロードレジスタ L
003907H リロードレジスタ H
003908H リロードレジスタ L
003909H リロードレジスタ H
PRLL5
R/W
PRLH5
R/W
XXXXXXXXB
PRLL6
R/W
XXXXXXXXB
PRLH6
R/W
00390AH リロードレジスタ L
00390BH リロードレジスタ H
00390CH リロードレジスタ L
00390DH リロードレジスタ H
00390EH リロードレジスタ L
00390FH リロードレジスタ H
003910H ∼
003917H
PRLL7
R/W
PRLH7
R/W
XXXXXXXXB
XXXXXXXXB
PPG(ch4, ch5)
ユニット 2
PPG(ch6, ch7)
ユニット 3
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
予約領域
003918H インプットキャプチャデータレジスタ 0
003919H インプットキャプチャデータレジスタ 0
00391AH インプットキャプチャデータレジスタ 1
IPCP0
00391BH インプットキャプチャデータレジスタ 1
00391CH インプットキャプチャデータレジスタ 2
00391DH インプットキャプチャデータレジスタ 2
00391EH インプットキャプチャデータレジスタ 3
00391FH インプットキャプチャデータレジスタ 3
003920H インプットキャプチャデータレジスタ 4
XXXXXXXXB
R
IPCP0
R
IPCP1
R
IPCP1
R
IPCP2
R
IPCP2
R
IPCP3
R
IPCP3
R
IPCP4
R
003921H インプットキャプチャデータレジスタ 4
003922H インプットキャプチャデータレジスタ 5
IPCP4
R
IPCP5
R
003923H インプットキャプチャデータレジスタ 5
003924H インプットキャプチャデータレジスタ 6
IPCP5
R
IPCP6
R
003925H インプットキャプチャデータレジスタ 6
003926H インプットキャプチャデータレジスタ 7
IPCP6
R
IPCP7
R
003927H インプットキャプチャデータレジスタ 7
003928H アウトプットコンペアレジスタ 0
IPCP7
R
インプット
キャプチャ
0/1
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
インプット
キャプチャ
2/3
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
インプット
キャプチャ
4/5
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
インプット
キャプチャ
6/7
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
OCCP0
R/W
003929H アウトプットコンペアレジスタ 0
00392AH アウトプットコンペアレジスタ 1
OCCP0
R/W
OCCP1
R/W
00392BH アウトプットコンペアレジスタ 1
00392CH アウトプットコンペアレジスタ 2
OCCP1
R/W
XXXXXXXXB
OCCP2
R/W
XXXXXXXXB
00392DH アウトプットコンペアレジスタ 2
00392EH アウトプットコンペアレジスタ 3
OCCP2
R/W
OCCP3
R/W
00392FH アウトプットコンペアレジスタ 3
OCCP3
R/W
アウト
プット
コンペア 0/1
アウト
プット
コンペア 2/3
003930H ∼
0039FFH
( 予約領域 )
003A00H ∼
003AFFH
( 予約領域 :CAN0 インタフェース )
003B00H ∼
003BFFH
( 予約領域 :CAN0 インタフェース )
450
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
付録 A I/O マップ
付表 A-1 I/O マップ (6 / 6)
アドレス
レジスタ
略称
アクセス
リソース
003C00H ∼
003CFFH
( 予約領域 :CAN1 インタフェース )
003D00H ∼
003DFFH
( 予約領域 :CAN1 インタフェース )
003E00H ∼
003FFFH
( 予約領域 )
初期値
・書込み / 読出しについての説明
R/W: リード・ライト可能
R: リードオンリ
W: ライトオンリ
・初期値についての説明
0: このビットの初期値は "0" です。
1: このビットの初期値は "1" です。
X: このビットの初期値は不定です。
-: このビットは未使用です。初期値は不定です。
<注意事項>
I/O マップの予約領域への書込みは行わないでください。予約領域を読み出した場合は ,
不定が読み出されます。
451
付録
付録 B
命令
F2MC-16LX に使用している命令について説明します。
B.1 命令の種類
B.2 アドレッシング
B.3 直接アドレッシング
B.4 間接アドレッシング
B.5 実行サイクル数
B.6 実効アドレスフィールド
B.7 命令一覧表の読み方
B.8 F2MC-16LX 命令一覧表
B.9 命令マップ
管理番号 : CM44-00202-1
452
付録 B 命令
B.1
命令の種類
F2MC-16LX には , 以下に示す 351 種類の命令があります。
■ 命令の種類
• 転送系命令 ( バイト ) 41 命令
• 転送系命令 ( ワード , ロングワード ) 38 命令
• 加減算命令 ( バイト , ワード , ロングワード ) 42 命令
• 増減算命令 ( バイト , ワード , ロングワード ) 12 命令
• 比較命令 ( バイト , ワード , ロングワード ) 11 命令
• 符号なし乗除算命令 ( ワード , ロングワード ) 11 命令
• 符号付き乗除算命令 ( ワード , ロングワード ) 11 命令
• 論理演算命令 ( バイト , ワード ) 39 命令
• 論理演算命令 ( ロングワード ) 6 命令
• 符号反転命令 ( バイト , ワード ) 6 命令
• ノーマライズ命令 ( ロングワード ) 1 命令
• シフト命令 ( バイト , ワード , ロングワード ) 18 命令
• 分岐命令 50 命令 ( 分岐命令 1: 31 命令 , 分岐命令 2: 19 命令 )
• アキュムレータ操作命令 ( バイト , ワード ) 6 命令
• その他制御命令 ( バイト , ワード , ロングワード ) 28 命令
• ビット操作命令 21 命令
• ストリング命令 10 命令
453
付録
B.2
アドレッシング
F2MC-16LX では , 命令の実効アドレスフィールドまたは命令コード自体 ( インプラ
イド ) でアドレス形式が決定されます。命令コード自体でアドレス形式が決定する
場合は , 使用する命令コードに合わせてアドレスを指定します。命令によっては , 数
種類のアドレス指定方式から設定できるものがあります。
■ アドレッシング
F2MC-16LX には , 以下に示す 23 種類のアドレッシングがあります。
• 即値 (#imm)
• レジスタ直接
• 直接分岐アドレス (addr16)
• 物理直接分岐アドレス (addr24)
• I/O 直接 (io)
• 短縮直接アドレス (dir)
• 直接アドレス (addr16)
• I/O 直接ビットアドレス (io: bp)
• 短縮直接ビットアドレス (dir: bp)
• 直接ビットアドレス (addr16: bp)
• ベクタアドレス (#vct)
• レジスタ間接 (@RWj j=0 ∼ 3)
• ポストインクリメント付レジスタ間接 (@RWj+ j=0 ∼ 3)
• ディスプレースメント付レジスタ間接 (@RWi+disp8 i=0 ∼ 7, @RWj+disp16 j=0 ∼ 3)
• ディスプレースメント付ロングレジスタ間接 (@RLi+disp8 i=0 ∼ 3)
• ディスプレースメント付プログラムカウンタ間接 (@PC+disp16)
• ベースインデックス付レジスタ間接 (@RW0+RW7, @RW1+RW7)
• プログラムカウンタ相対分岐アドレス (rel)
• レジスタリスト (rlst)
• アキュムレータ間接 (@A)
• アキュムレータ間接分岐アドレス (@A)
• 間接指定分岐アドレス (@ear)
• 間接指定分岐アドレス (@eam)
454
付録 B 命令
■ 実効アドレスフィールド
実効アドレスフィールドで指定される , アドレス形式を表 B.2-1 に示します。
表 B.2-1 実効アドレスフィールド
コード
表記
アドレス形式
00
R0
RW0
RL0
01
R1
RW1
(RL0)
02
R2
RW2
RL1
03
R3
RW3
(RL1)
04
R4
RW4
RL2
05
R5
RW5
(RL2)
06
R6
RW6
RL3
07
R7
RW7
(RL3)
08
@RW0
09
@RW1
レジスタ直接
ea は左から順に
バイト
ワード
ロングワード
の型に対応する。
デフォルトバンク
なし
DTB
DTB
レジスタ間接
0A
@RW2
0B
@RW3
SPB
0C
@RW0+
DTB
0D
@RW1+
0E
@RW2+
0F
@RW3+
SPB
10
@RW0+disp8
DTB
11
@RW1+disp8
DTB
12
@RW2+disp8
ADB
13
@RW3+disp8
14
@RW4+disp8
15
@RW5+disp8
DTB
16
@RW6+disp8
ADB
17
@RW7+disp8
SPB
18
@RW0+disp16
DTB
19
@RW1+disp16
1A
@RW2+disp16
IB
@RW3+disp16
1C
@RW0+RW7
インデックス付レジスタ間接
DTB
1D
@RW1+RW7
インデックス付レジスタ間接
DTB
1E
@PC+disp16
16 ビットディスプレースメント付 PC 間接
PCB
1F
addr16
直接アドレス
DTB
ポストインクリメント付
レジスタ間接
8 ビットディスプレースメント付
レジスタ間接
16 ビットディスプレースメント付
レジスタ間接
ADB
DTB
ADB
SPB
DTB
DTB
ADB
SPB
455
付録
B.3
直接アドレッシング
直接アドレッシングでは , オペランド値 , レジスタおよびアドレスを直接指定しま
す。
■ 直接アドレッシング
● 即値 (#imm)
オペランドの値を直接指定します。(#imm4/#imm8/#imm16/#imm32) 。
図 B.3-1 に例を示します。
図 B.3-1 即値 (#imm) 例
MOVW A, #01212H (A にオペランドの値を格納する命令 )
実行前
A 2233
4455
実行後
A 4455
1 2 1 2 ( 命令によっては AL → AH に転送が行われる )
● レジスタ直接
オペランドとして , 直接レジスタを指定します。指定できるレジスタを表 B.3-1 に示し
ます。
表 B.3-1 レジスタ直接
汎用レジスタ
専用レジスタ
*:
456
バイト
R0, R1, R2, R3, R4, R5, R6, R7
ワード
RW0, RW1, RW2, RW3, RW4, RW5, RW6, RW7
ロングワード
RL0, RL1, RL2, RL3
アキュムレータ
A, AL
ポインタ
SP *
バンク
PCB, DTB, USB, SSB, ADB
ページ
DPR
制御
PS, CCR, RP, ILM
SP は , コンディションコードレジスタ (CCR) 中の S フラグビットの値に応じてユーザス
タックポインタ (USP) またはシステムスタックポインタ (SSP) のどちらか一方が選択さ
れ , 使用されます。分岐系の命令ではプログラムカウンタ (PC) は命令のオペランドには
記述されることなく指定されます。
付録 B 命令
図 B.3-2 に例を示します。
図 B.3-2 レジスタ直接例
MOV R0, A ( 汎用レジスタ R0 に A の下位 8 ビットを転送する命令 )
実行前
A 0716
2534
メモリ空間
R0
実行後
A 0716
2564
??
メモリ空間
R0
34
● 直接分岐アドレス (addr16)
分岐先のアドレスをディスプレースメントで直接指定します。ディスプレースメント
のデータ長は 16 ビットで , 論理空間内での分岐先を示します。無条件分岐命令 , サブ
ルーチンコール命令およびソフトウェア割込み命令に使用します。アドレスの bit23 ∼
bit16 はプログラムカウンタバンクレジスタ (PCB) で指定されます。図 B.3-3 に例を示
します。
図 B.3-3 直接分岐アドレス (addr16) 例
JMP 3B20H ( バンク内で直接分岐アドレス指定で , 無条件分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
メモリ空間
4F3B20H 次の命令
実行後
PC 3 B 2 0
PCB 4 F
4F3C20H
62
4F3C21H
20
4F3C22H
3B
JMP 3B20H
457
付録
● 物理直接分岐アドレス (addr24)
分岐先のアドレスをディスプレースメントで直接指定します。ディスプレースメント
のデータ長は 24 ビットです。無条件分岐命令 , サブルーチンコール命令およびソフト
ウェア割込み命令に使用します。図 B.3-4 に例を示します。
図 B.3-4 物理直接分岐アドレス (addr24) 例
JMPP 333B20H ( 直接分岐アドレス 24 ビット指定で , 無条件分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
メモリ空間
333B20H 次の命令
実行後
PC 3 B 2 0
PCB 3 3
4F3C20H
63
4F3C21H
20
4F3C22H
3B
4F3C23H
33
JMPP 333B20H
● I/O 直接 (io)
オペランドのメモリアドレスを 8 ビットのディスプレースメントで直接指定します。
データバンクレジスタ (DTB) , ダイレクトページレジスタ (DPR) の値にかかわらず ,
物理アドレス "000000H" ∼ "0000FFH" の空間の I/O 空間がアクセスされます。I/O 直接
アドレス指定を使用した命令の前にバンク指定用のバンクセレクトプリフィックスを
記述しても無効です。図 B.3-5 に例を示します。
図 B.3-5 I/O 直接 (io) 例
MOVW A, i : 0C0H (I/O 直接で読出しを行い , A に格納する命令 )
実行前
実行後
458
A 0716
2534
A 2534 FFEE
メモリ空間
0000C0H
EE
0000C1H
FF
付録 B 命令
● 短縮直接アドレス (dir)
オペランドでメモリアドレスの下位 8 ビットを直接指定します。アドレスの bit15 ∼
bit8 はダイレクトページレジスタ (DPR) により指定されます。アドレスの bit23 ∼ bit16
はデータバンクレジスタ (DTB) により指定されます。図 B.3-6 に例を示します。
図 B.3-6 短縮直接アドレス (dir) 例
MOV S : 20H, A (A の下位 8 ビットの内容を短縮直接アドレス指定方式で書き込む命令 )
A 4455
実行前
DPR 6 6
DTB 7 7
A 4455
実行後
DPR 6 6
1212
メモリ空間
776620H
1212
DTB 7 7
??
メモリ空間
776620H
12
● 直接アドレス (addr16)
オペランドで , メモリアドレス下位 16 ビットを直接指定します。アドレスの bit23 ∼
bit16 はデータバンクレジスタ (DTB) で指定されます。直接アドレスのアドレッシング
に対しては , アクセス空間指定用のプリフィックス命令は無効です。図 B.3-7 に例を示
します。
図 B.3-7 直接アドレス (addr16) 例
MOVW A, 3B20H ( 直接アドレスで読出しを行い , A に格納する命令 )
実行前
実行後
A 2020
A AABB
AABB
0123
DTB 5 5
メモリ空間
553B21H
01
553B20H
23
DTB 5 5
459
付録
● I/O 直接ビットアドレス (io: bp)
物理アドレス "000000H" ∼ "0000FFH" 内のビットを直接指定します。ビットの位置は
": bp" で表され , 数字の大きいほうが最上位ビット (MSB) , 小さい方が最下位ビット
(LSB) となります。図 B.3-8 に例を示します。
図 B.3-8 I/O 直接ビットアドレス (io: bp) 例
SETB i : 0C1H : 0 (I/O 直接ビットアドレス指定でセットビットを行う命令 )
メモリ空間
0000C1H
実行前
00
メモリ空間
0000C1H
実行後
01
● 短縮直接ビットアドレス (dir: bp)
オペランドでメモリアドレスの下位 8 ビットを直接指定します。アドレスの bit15 ∼
bit8 はダイレクトページレジスタ (DPR) で指定されます。アドレスの bit23 ∼ bit16 は
データバンクレジスタ (DTB) で指定されます。ビットの位置は ": bp" で表され , 数字の
大きい方が最上位ビット , 小さい方が最下位ビットとなります。図 B.3-9 に例を示しま
す。
図 B.3-9 短縮直接ビットアドレス (dir: bp) 例
SETB S : 10H : 0 ( 短縮直接ビットアドレス指定でセットビットを行う命令 )
メモリ空間
実行前
DTB 5 5
DPR 6 6
556610H
00
メモリ空間
実行後
460
DTB 5 5
DPR 6 6
556610H
01
付録 B 命令
● 直接ビットアドレス (addr16: bp)
64K バイト内の任意のビットに対し直接指定します。アドレスの bit23 ∼ bit16 はデー
タバンクレジスタ (DTB) で指定されます。ビットの位置は ": bp" で表され , 数字の大き
い方が最上位ビット , 小さい方が最下位ビットとなります。図 B.3-10 に例を示します。
図 B.3-10 直接ビットアドレス (addr16: bp) 例
SETB 2222H : 0 ( 直接ビットアドレス指定でセットビットを行う命令 )
メモリ空間
DTB 5 5
実行前
00
552222H
メモリ空間
DTB 5 5
実行後
01
552222H
● ベクタアドレス (#vct)
分岐先のアドレスは指定されたベクタの内容となります。ベクタ番号のデータ長には
4 ビットと 8 ビットの 2 種類があります。サブルーチンコール命令 , ソフトウェア割込
み命令に使用します。図 B.3-11 に例を示します。
図 B.3-11 ベクタアドレス (#vct) 例
CALLV #15 ( オペランドで指定した割込みベクタが示すアドレスへ分岐する命令 )
実行前
PC 0 0 0 0
PCB F F
実行後
メモリ空間
FFC000H
EF
FFFFE0H
00
FFFFE1H
D0
CALLV #15
PC D 0 0 0
PCB F F
461
付録
表 B.3-2 CALLV ベクタ一覧表
命令
ベクタアドレス L
ベクタアドレス H
CALLV #0
XXFFFEH
XXFFFFH
CALLV #1
XXFFFCH
XXFFFDH
CALLV #2
XXFFFAH
XXFFFBH
CALLV #3
XXFFF8H
XXFFF9H
CALLV #4
XXFFF6H
XXFFF7H
CALLV #5
XXFFF4H
XXFFF5H
CALLV #6
XXFFF2H
XXFFF3H
CALLV #7
XXFFF0H
XXFFF1H
CALLV #8
XXFFEEH
XXFFEFH
CALLV #9
XXFFECH
XXFFEDH
CALLV #10
XXFFEAH
XXFFEBH
CALLV #11
XXFFE8H
XXFFE9H
CALLV #12
XXFFE6H
XXFFE7H
CALLV #13
XXFFE4H
XXFFE5H
CALLV #14
XXFFE2H
XXFFE3H
CALLV #15
XXFFE0H
XXFFE1H
( 注意事項 ) XX には PCB レジスタの値が入ります。
<注意事項>
プログラムカウンタバンクレジスタ (PCB) が "FFH" の場合ベクタ領域は INT #vct8 (#0 ∼
#7) のベクタ領域と共有しているため , 使用する場合は注意が必要です。( 表 B.3-2 を参照
してください )
462
付録 B 命令
B.4
間接アドレッシング
間接アドレッシングでは , 記述したオペランドが示すアドレスのデータで , 間接的に
アドレスを指定します。
■ 間接アドレッシング
● レジスタ間接 (@RWj j=0 ∼ 3)
汎用レジスタ RWj の内容をアドレスとしたメモリをアクセスするアドレッシングで
す。アドレスの bit23 ∼ bit16 は , RW0, RW1 を用いた場合はデータバンクレジスタ
(DTB) で示され , RW3 の場合はシステムスタックバンクレジスタ (SSB) またはユーザ
スタックバンクレジスタ (USB) で示され , RW2 の場合はアディショナルデータバンク
レジスタ (ADB) で示されます。図 B.4-1 に例を示します。
図 B.4-1 レジスタ間接 (@RWj j=0 ∼ 3) 例
MOVW A, @RW1 ( レジスタ間接で読出しを行い , A に格納する命令 )
実行前
A 0716
2534
メモリ空間
RW1 D 3 0 F
実行後
DTB 7 8
78D30FH
EE
78D310H
FF
A 2534 FFEE
RW1 D 3 0 F
DTB 7 8
● ポストインクリメント付レジスタ間接 (@RWj+ j=0 ∼ 3)
汎用レジスタ RWj の内容をアドレスとしたメモリをアクセスするアドレッシングで
す。
オペランド操作後RWjはオペランドデータ長 (バイトの場合は1, ワードの場合は2,
ロングワードの場合は 4) 分だけ加算されます。アドレスの bit23 ∼ bit16 は , RW0, RW1
を用いた場合はデータバンクレジスタ (DTB) で示され , RW3 の場合はシステムスタッ
クバンクレジスタ (SSB) またはユーザスタックバンクレジスタ (USB) で示され , RW2
の場合はアディショナルデータバンクレジスタ (ADB) で示されます。
ポストインクリメントした結果がインクリメント指定したレジスタ自身のアドレス
だった場合は , 参照される値はインクリメントした値となり , 命令が書込みだった場合
は命令による書込みが優先されるので , インクリメントするはずだったレジスタは書
込みデータとなります。
図 B.4-2 に例を示します。
463
付録
図 B.4-2 ポストインクリメント付レジスタ間接 (@RWj+ j=0 ∼ 3) 例
MOVW A, @RW1+ ( ポストインクリメント付レジスタ間接で読出しを行い , A に格納する命令 )
実行前
A 0716
2534
メモリ空間
RW1 D 3 0 F
実行後
DTB 7 8
78D30FH
EE
78D310H
FF
A 2534 FFEE
RW1 D 3 1 1
DTB 7 8
● ディスプレースメント付レジスタ間接
(@RWi+disp8 i=0 ∼ 7, @RWj+disp16 j=0 ∼ 3)
汎用レジスタ RWj の内容にディスプレースメントを加算したものをアドレスとしたメ
モリをアクセスするアドレッシングです。ディスプレースメントは , バイトとワードの
2 種類があり , 符号付数値として加算されます。アドレスの bit23 ∼ bit16 は , RW0, RW1,
RW4, RW5 を用いた場合はデータバンクレジスタ (DTB) で示され , RW3, RW7 を用い
た場合はシステムスタックバンクレジスタ (SSB) またはユーザスタックバンクレジス
タ (USB) で示され , RW2, RW6 を用いた場合はアディショナルデータバンクレジスタ
(ADB) で示されます。図 B.4-3 に例を示します。
図 B.4-3 ディスプレースメント付レジスタ間接
(@RWi+disp8 i=0 ∼ 7, @RWj+disp16 j=0 ∼ 3) 例
MOVW A, @RW1+10H (ディスプレースメント付レジスタ間接で読出しを行い, Aに格納する命令)
実行前
A 0716
2534
(+10H)
RW1 D 3 0 F
実行後
A 2534 FFEE
RW1 D 3 0 F
464
DTB 7 8
DTB 7 8
メモリ空間
78D31FH
EE
78D320H
FF
付録 B 命令
● ディスプレースメント付ロングレジスタ間接 (RLi+disp8 i=0 ∼ 3)
汎用レジスタ RLi の内容にディスプレースメントを加算した結果の下位 24 ビットをア
ドレスとしたメモリをアクセスするアドレッシングです。ディスプレースメントは 8
ビットで符号付数値として加算されます。図 B.4-4 に例を示します。
図 B.4-4 ディスプレースメント付ロングレジスタ間接 (@RLi+disp8 i=0 ∼ 3) 例
MOVW A, @RL2+25H (ディスプレースメント付ロングレジスタ間接で読出しを行い, Aに格納する命令)
A 0716
実行前
2534
(+25H)
RL2 F 3 8 2
4B02
メモリ空間
824B27H
EE
824B28H
FF
A 2534 FFEE
実行後
RL2 F 3 8 2
4B02
● ディスプレースメント付プログラムカウンタ間接 (@PC+disp16)
(命令のアドレス+4+disp16) で示されるアドレスのメモリをアクセスするアドレッシン
グです。ディスプレースメントはワード長です。アドレスの bit23 ∼ bit16 はプログラ
ムカウンタバンクレジスタ (PCB) により指定されます。次に示す命令のオペランドア
ドレスは , ( 次の命令のアドレス +disp16) とは , みなしませんので注意してください。
• DBNZ eam, rel
• CBNE eam, #imm8, rel
• MOV eam, #imm8
• DWBNZ eam, rel
• CWBNE eam, #imm16, rel
• MOVW eam, #imm16
図 B.4-5 に例を示します。
図 B.4-5 ディスプレースメント付プログラムカウンタ間接 (@PC+disp16) 例
MOVW A, @PC+20H ( ディスプレースメント付 PC 間接で読出しを行い , A に格納する命令 )
実行前
A 0716
2534
メモリ空間
PCB C 5 PC 4 5 5 6
実行後
A 2534
FFEE
PCB C 5 PC 4 5 5 A
+4
C54556H
73
C54557H
9E
C54558H
20
C54559H
00
MOVW
A, @PC+20H
C5455AH
・
・
・
+20H
C5457AH
EE
C5457BH
FF
465
付録
● ベースインデックス付レジスタ間接 (@RW0+RW7, @RW1+RW7)
汎用レジスタ RW7 の内容に , RW0 あるいは RW1 を加算したものをアドレスとしたメ
モリをアクセスするアドレッシングです。アドレスの bit23 ∼ bit16 はデータバンクレ
ジスタ (DTB) で示されます。図 B.4-6 に例を示します。
図 B.4-6 ベースインデックス付レジスタ間接 (@RW0+RW7, @RW1+RW7) 例
MOVW A, @RW1+RW7 ( ベースインデックス付レジスタ間接で読出しを行い , A に格納する命令 )
実行前
A 0716
RW1 D 3 0 F
WR7 0 1 0 1
実行後
A 2534
RW1 D 3 0 F
2534
+
DTB 7 8
メモリ空間
78D410H
EE
78D411H
FF
FFEE
DTB 7 8
WR7 0 1 0 1
● プログラムカウンタ相対分岐アドレス (rel)
分岐先のアドレスはプログラムカウンタ (PC) の値と 8 ビットのディスプレースメント
を加算した値となります。加算の結果が 16 ビットを超えた場合は , バンクレジスタの
インクリメントまたはデクレメントをせずに , 超えた分は無視されますので , 64K バイ
トのバンク内で閉じたアドレスとなります。プログラムカウンタ相対分岐アドレスに
よるアドレッシングは , 無条件 / 条件分岐命令に使用します。アドレスの bit23 ∼ bit16
はプログラムカウンタバンクレジスタ (PCB) で示されます。
図 B.4-7 に例を示します。
図 B.4-7 プログラムカウンタ相対分岐アドレス (rel) 例
BRA 10H ( 無条件相対分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
メモリ空間
4F3C32H 次の命令
実行後
466
PC 3 C 2 0
PCB 4 F
4F3C21H
10
4F3C20H
60
BRA 10H
付録 B 命令
● レジスタリスト (rlst)
スタックに対するプッシュ / ポップの対象となるレジスタを指定します。図 B.4-8 にレ
ジスタリストの構成 , 図 B.4-9 に例を示します。
図 B.4-8 レジスタリストの構成
MSB
LSB
RW7 RW6 RW5 RW4 RW3 RW2 RW1 RW0
対応ビットが "1" の場合に設定 , "0" の場合に非設定
MSB: 最上位ビット
LSB: 最下位ビット
図 B.4-9 レジスタリスト (rlst) 例
POPW, RW0, RW4 ( レジスタリストで示された複数のワードレジスタに , SP で示されるメモリの
データを転送する命令 )
SP 3 4 F A
SP 3 4 F E
RW0
×× ××
RW0
02 01
RW1
×× ××
RW1
×× ××
RW2
×× ××
RW2
×× ××
RW3
×× ××
RW3
×× ××
RW4
×× ××
RW4
04 03
RW5
×× ××
RW5
×× ××
RW6
×× ××
RW6
×× ××
RW7
×× ××
RW7
×× ××
メモリ空間
SP
01
メモリ空間
34FAH
01
34FAH
02
34FBH
02
34FBH
03
34FCH
03
34FCH
34FDH
04
04
34FEH
実行前
SP
34FDH
34FEH
実行後
467
付録
● アキュムレータ間接 (@A)
アキュムレータの下位バイト (AL) の内容 (16 ビット ) で示されるアドレスのメモリを
アクセスするアドレス方式です。アドレスの bit23 ∼ bit16 はデータバンクレジスタ
(DTB) によりニーモニックで指定されます。図 B.4-10 に例を示します。
図 B.4-10 アキュムレータ間接 (@A) 例
MOVW A, @A ( アキュムレータ間接で読出しを行い , A に格納する命令 )
A
実行前
0716
2534
DTB B B
A
実行後
0716
メモリ空間
BB2534H
EE
BB2535H
FF
FFEE
DTB B B
● アキュムレータ間接分岐アドレス (@A)
分岐先のアドレスは , アキュムレータの下位バイト (AL) の内容 (16 ビット ) となりま
す。バンク空間内での分岐先を示し , アドレスの bit23 ∼ bit16 はプログラムカウンタ
バンクレジスタ (PCB) で指定されますが , JCTX (Jump Context) 命令の場合は , アド
レスの bit23 ∼ bit16 はデータバンクレジスタ (DTB) で指定されます。アキュムレータ
間接分岐アドレスによるアドレッシングは , 無条件分岐命令に使用します。図 B.4-11
に例を示します。
図 B.4-11 アキュムレータ間接分岐アドレス (@A) 例
JMP @A ( アキュムレータ間接分岐アドレスで , 無条件分岐を行う命令 )
実行前
PC 3 C 2 0
A 6677
PCB 4 F
3B20
メモリ空間
4F3B20H 次の命令
4F3C20H
実行後
PC 3 B 2 0
A 6677
468
PCB 4 F
3B20
61
JMP @A
付録 B 命令
● 間接指定分岐アドレス (@ear)
ear で示される番地のワードデータが分岐先アドレスとなります。図 B.4-12 に例を示し
ます。
図 B.4-12 間接指定分岐アドレス (@ear) 例
JMP @@RW0 ( レジスタ間接の間接で無条件分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
RW0 7 F 4 8
DTB 2 1
メモリ空間
217F48H
20
217F49H
3B
4F3B20H 次の命令
実行後
PC 3 B 2 0
PCB 4 F
RW0 7 F 4 8
DTB 2 1
4F3C20H
73
4F3C21H
08
JMP @@RW0
● 間接指定分岐アドレス (@eam)
eam で示される番地のワードデータが分岐先アドレスとなります。図 B.4-13 に例を示
します。
図 B.4-13 間接指定分岐アドレス (@eam) 例
JMP @RW0 ( レジスタ間接で無条件分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
RW0 3 B 2 0
実行後
PC 3 B 2 0
メモリ空間
4F3B20H 次の命令
PCB 4 F
4F3C20H
73
4F3C21H
00
JMP @RW0
RW0 3 B 2 0
469
付録
B.5
実行サイクル数
命令の実行に要するサイクル数 ( 実行サイクル数 ) は , 各命令の「サイクル数」の値
と , 条件で決まる「補正値」の値およびプログラムフェッチの「サイクル数」の値
を加算することで得られます。
■ 実行サイクル数
内蔵 ROM などの 16 ビットバスに接続されたメモリ上のプログラムをフェッチする場
合には , 実行中の命令がワード境界を越えるごとにプログラムフェッチをするため ,
データのアクセスなどに干渉すると実行サイクル数が増大します。
外部データバスの 8 ビットバスに接続されたメモリ上のプログラムをフェッチする場
合は , 実行中の命令の 1 バイトごとにプログラムフェッチをするため , データのアクセ
スなどに干渉すると実行サイクル数が増大します。
CPU 間欠動作時は , 汎用レジスタ , 内蔵 ROM, 内蔵 RAM, 内蔵 I/O, 外部データバスの
アクセスをすると , 低消費電力モード制御レジスタの CG0, CG1 ビットで指定されるサ
イクル数分 CPU へ供給されるクロックが一時停止しますので , CPU 間欠動作の命令の
実行に要するサイクル数は , 通常の実行サイクル数に , 汎用レジスタ , 内蔵 ROM, 内蔵
RAM, 内蔵 I/O, 外部データバスの「アクセス回数」×一時停止の「サイクル数」の値
を「補正値」として加算してください。
■ 実行サイクル数計算方法
表 B.5-1 , 表 B.5-2 , 表 B.5-3 に命令実行サイクル数および補正値のデータを示します。
表 B.5-1 各種アドレッシングに対する実行サイクル数
(a) *
コード
00 ∼ 07
オペランド
Ri
RWi
RLi
各種アドレッシングに対する
実行サイクル数
各種アドレッシングに
対するレジスタ
アクセス回数
命令一覧表に記載
命令一覧表に記載
08 ∼ 0B
@RWj
2
1
0C ∼ 0F
@RWj+
4
2
10 ∼ 17
@RWi+disp8
2
1
18 ∼ 1B
@RWi+disp16
2
1
1C
1D
1E
1F
@RW0+RW7
@RW1+RW7
@PC+disp16
addr16
4
4
2
1
2
2
0
0
*: (a) は「B.8 F2MC-16LX 命令一覧表」の∼ ( サイクル数 ) , B ( 補正値 ) で使用さ
れています。" ∼ " と "B" の意味については「B.7 命令一覧表の読み方」を参照
してください。
470
付録 B 命令
表 B.5-2 実サイクル数算出用サイクル数の補正値
(b) バイト *1
オペランド
(c) ワード *1
(d) ロング *1
サイクル
数
アクセス
回数
サイクル
数
アクセス
回数
サイクル
数
アクセス
回数
内部レジスタ
+0
1
+0
1
+0
2
内部メモリ
偶数アドレス
+0
1
+0
1
+0
2
内部メモリ
奇数アドレス
+0
1
+2
2
+4
4
外部データバス *2
16 ビット偶数アドレス
+1
1
+1
1
+2
2
外部データバス *2
16 ビット奇数アドレス
+1
1
+4
2
+8
4
外部データバス *2
8 ビット
+1
1
+4
2
+8
4
*1: (b), (c), (d) は「B.8 F2MC-16LX 命令一覧表」の∼ ( サイクル数 ) , B ( 補正値 ) で使用され
ています。
*2: 外部データバスを使用した場合は , レディ入力および自動レディによりウェイトしたサ
イクル数も加算する必要があります。
表 B.5-3 プログラムフェッチサイクル数算出用サイクル数の補正値
命令
バイト境界
ワード境界
内部メモリ
−
+2
外部データバス 16 ビット
−
+3
外部データバス 8 ビット
+3
−
( 注意事項 ) ・ 外部データバスを使用した場合は , レディ入力および自動レディでウェイト
したサイクル数も加算する必要があります。
・ 実際にはすべてのプログラムフェッチで , 命令実行が遅くなるわけではない
ので , この補正値は最悪ケースを算出する場合に使用してください。
471
付録
B.6
実効アドレスフィールド
表 B.6-1 に実効アドレスフィールドを示します。
■ 実効アドレスフィールド
表 B.6-1 実効アドレスフィールド (1 / 2)
コード
472
表記
アドレス形式
00
R0
RW0
RL0
01
R1
RW1
(RL0)
02
R2
RW2
RL1
03
R3
RW3
(RL1)
04
R4
RW4
RL2
05
R5
RW5
(RL2)
06
R6
RW6
RL3
07
R7
RW7
(RL3)
08
@RW0
09
@RW1
0A
@RW2
0B
@RW3
0C
@RW0+
0D
@RW1+
0E
@RW2+
0F
@RW3+
10
@RW0+disp8
11
@RW1+disp8
12
@RW2+disp8
13
@RW3+disp8
14
@RW4+disp8
15
@RW5+disp8
16
@RW6+disp8
17
@RW7+disp8
アドレス拡張部の
バイト数 *
レジスタ直接
ea は左から順に
バイト
ワード
ロングワード
の型に対応する。
−
レジスタ間接
0
ポストインクリメント付
レジスタ間接
0
8 ビットディスプレースメント付
レジスタ間接
1
付録 B 命令
表 B.6-1 実効アドレスフィールド (1 / 2)
コード
*:
表記
18
@RW0+disp16
19
@RW1+disp16
1A
@RW2+disp16
IB
@RW3+disp16
1C
アドレス形式
アドレス拡張部の
バイト数 *
16 ビットディスプレースメント付
レジスタ間接
2
@RW0+RW7
インデックス付レジスタ間接
0
1D
@RW1+RW7
インデックス付レジスタ間接
0
1E
@PC+disp16
16 ビットディスプレースメント付 PC 間接
2
1F
addr16
直接アドレス
2
アドレス拡張部のバイト数は , 「B.8 F2MC-16LX 命令一覧表」の # ( バイト数 ) の "+" に当てはまります。
"#" の意味については「B.7 命令一覧表の読み方」を参照してください。
473
付録
B.7
命令一覧表の読み方
「B.8 F2MC-16LX 命令一覧表」で使用している項目の説明を表 B.7-1 に , 記号の説
明を表 B.7-2 に示します。
■ 命令の表示記号の説明
表 B.7-1 命令一覧表の項目の説明
項目
ニーモニック
説明
英大文字 , 記号 : アセンブラ上もそのまま表記します。
英小文字 : アセンブラ上では , 書き替えて記述します。
英小文字の後の数 : 命令中のビット幅を示します。
#
バイト数を示します。
∼
サイクル数を示します。
RG
命令実行時のレジスタアクセス回数を示します。
CPU 間欠動作時の補正値を算出するのに使用します。
B
オペレーション
LH
AH
命令実行時の実サイクル数の算出用補正値を示します。
命令実行時の実サイクルは∼欄の数値を加算したものとなります。
命令の動作を示します。
アキュムレータの bit15 ∼ bit8 に対する特殊動作を示します。
Z: 0 を転送する。
X: 符号を拡張して転送する。
− : 転送しない。
アキュムレータの上位 16 ビットに対する特殊動作を示します。
*: AL から AH へ転送する。
− : 転送しない。
Z: AH へ 00H を転送する。
X: AL の符号拡張で AH へ 00H または FFH を転送する。
I
I ( 割込み許可 ) , S ( スタック ) , T ( ステッキィビット ) ,
S
N ( ネガティブ ) , Z ( ゼロ ) , V ( オーバフロー ) , C ( キャリー )
T
の各フラグの状態を示します。
N
*: 命令の実行で変化する。
Z
− : 変化しない。
V
S: 命令の実行でセットされる。
C
R: 命令の実行でリセットされる。
RMW
474
リードモディファイライト命令 (1 命令でメモリなどからデータを読
み出し , メモリへ書き込む ) であるかどうか示します。
*: リードモディファイライト命令である。
− : リードモディファイライト命令ではない。
( 注意事項 )
読み書きで意味の異なるアドレスには使用できません。
付録 B 命令
表 B.7-2 命令一覧表の記号の説明 (1 / 2)
表記
A
意味
32 ビットアキュムレータ
命令により , 使用されるビット長が変わります。
バイト : AL の下位 8 ビット
ワード : AL の 16 ビット
ロング : AL: AH の 32 ビット
AH
A の上位 16 ビット
AL
A の下位 16 ビット
SP
スタックポインタ (USP or SSP)
PC
プログラムカウンタ
PCB
プログラムカウンタバンクレジスタ
DTB
データバンクレジスタ
ADB
アディショナルデータバンクレジスタ
SSB
システムスタックバンクレジスタ
USB
ユーザスタックバンクレジスタ
SPB
カレントスタックバンクレジスタ (SSB or USB)
DPR
ダイレクトページレジスタ
brg1
DTB, ADB, SSB, USB, DPR, PCB, SPB
brg2
DTB, ADB, SSB, USB, DPR, SPB
Ri
R0, R1, R2, R3, R4, R5, R6, R7
RWi
RW0, RW1, RW2, RW3, RW4, RW5, RW6, RW7
RWj
RW0, RW1, RW2, RW3
RLi
RL0, RL1, RL2, RL3
dir
短縮直接アドレス指定
addr16
直接アドレス指定
addr24
物理直接アドレス指定
ad24 0 ∼ 15
addr24 の bit0 ∼ bit15
ad24 16 ∼ 23
addr24 の bit16 ∼ bit23
io
I/O 領域 (000000H ∼ 0000FFH)
#imm4
4 ビット即値データ
#imm8
8 ビット即値データ
#imm16
16 ビット即値データ
#imm32
32 ビット即値データ
ext (imm8)
8 ビット即値データを符号拡張した 16 ビットデータ
475
付録
表 B.7-2 命令一覧表の記号の説明 (1 / 2)
表記
476
意味
disp8
8 ビットディスプレースメント
disp16
16 ビットディスプレースメント
bp
ビットオフセット値
vct4
ベクタ番号 (0 ∼ 15)
vct8
ベクタ番号 (0 ∼ 255)
()b
ビットアドレス
rel
PC 相対分岐指定
ear
実効アドレス指定 ( コード 00 ∼ 07)
eam
実効アドレス指定 ( コード 08 ∼ 1F)
rlst
レジスタ並び
付録 B 命令
B.8
F2MC-16LX 命令一覧表
F2MC-16LX で使用している命令の一覧を示します。
■ F2MC-16LX 命令一覧表
表 B.8-1 転送系命令 ( バイト ) 41 命令
#
∼
RG
B
LH
AH
I
S
T
N
Z
V
C
MOV
A,dir
2
3
0
(b)
byte (A) ← (dir)
Z
*
-
-
-
*
*
-
-
-
MOV
A,addr16
3
4
0
(b)
byte (A) ← (addr16)
Z
*
-
-
-
*
*
-
-
-
MOV
A,Ri
1
2
1
0
byte (A) ← (Ri)
Z
*
-
-
-
*
*
-
-
-
MOV
A,ear
2
2
1
0
byte (A) ← (ear)
Z
*
-
-
-
*
*
-
-
-
MOV
A,eam
2+
3 + (a)
0
(b)
byte (A) ← (eam)
Z
*
-
-
-
*
*
-
-
-
MOV
A,io
2
3
0
(b)
byte (A) ← (io)
Z
*
-
-
-
*
*
-
-
-
MOV
A,#imm8
2
2
0
0
byte (A) ← imm8
Z
*
-
-
-
*
*
-
-
-
MOV
A,@A
2
3
0
(b)
byte (A) ← ((A))
Z
-
-
-
-
*
*
-
-
-
MOV
A,@RLi+disp8
3
10
2
(b)
byte (A) ← ((RLi)+disp8)
Z
*
-
-
-
*
*
-
-
-
MOVN
A,#imm4
1
1
0
0
byte (A) ← imm4
Z
*
-
-
-
R
*
-
-
-
MOVX
A,dir
2
3
0
(b)
byte (A) ← (dir)
X
*
-
-
-
*
*
-
-
-
MOVX
A,addr16
3
4
0
(b)
byte (A) ← (addr16)
X
*
-
-
-
*
*
-
-
-
MOVX
A,Ri
2
2
1
0
byte (A) ← (Ri)
X
*
-
-
-
*
*
-
-
-
MOVX
A,ear
2
2
1
0
byte (A) ← (ear)
X
*
-
-
-
*
*
-
-
-
MOVX
A,eam
2+
3 + (a)
0
(b)
byte (A) ← (eam)
X
*
-
-
-
*
*
-
-
-
MOVX
A,io
2
3
0
(b)
byte (A) ← (io)
X
*
-
-
-
*
*
-
-
-
MOVX
A,#imm8
2
2
0
0
byte (A) ← imm8
X
*
-
-
-
*
*
-
-
-
MOVX
A,@A
2
3
0
(b)
byte (A) ← ((A))
X
-
-
-
-
*
*
-
-
-
MOVX
A,@RWi+disp8
2
5
1
(b)
byte (A) ← ((RWi)+disp8)
X
*
-
-
-
*
*
-
-
-
MOVX
A,@RLi+disp8
3
10
2
(b)
byte (A) ← ((RLi)+disp8)
X
*
-
-
-
*
*
-
-
-
MOV
dir,A
2
3
0
(b)
byte (dir) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
addr16,A
3
4
0
(b)
byte (addr16) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,A
1
2
1
0
byte (Ri) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
ear,A
2
2
1
0
byte (ear) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
eam,A
2+
3 + (a)
0
(b)
byte (eam) ← (A)
-
-
-
-
-
*
*
-
-
-
ニーモニック
オペレーション
RMW
MOV
io,A
2
3
0
(b)
byte (io) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
@RLi+disp8,A
3
10
2
(b)
byte ((RLi)+disp8) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,ear
2
3
2
0
byte (Ri) ← (ear)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,eam
2+
4 + (a)
1
(b)
byte (Ri) ← (eam)
-
-
-
-
-
*
*
-
-
-
MOV
ear,Ri
2
4
2
0
byte (ear) ← (Ri)
-
-
-
-
-
*
*
-
-
-
MOV
eam,Ri
2+
5 + (a)
1
(b)
byte (eam) ← (Ri)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,#imm8
2
2
1
0
byte (Ri) ← imm8
-
-
-
-
-
*
*
-
-
-
MOV
io,#imm8
3
5
0
(b)
byte (io) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
dir,#imm8
3
5
0
(b)
byte (dir) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
ear,#imm8
3
2
1
0
byte (ear) ← imm8
-
-
-
-
-
*
*
-
-
-
MOV
eam,#imm8
3+
4 + (a)
0
(b)
byte (eam) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
@AL,AH
2
3
0
(b)
byte ((A)) ← (AH)
-
-
-
-
-
*
*
-
-
-
XCH
A,ear
2
4
2
0
byte (A) ←→ (ear)
Z
-
-
-
-
-
-
-
-
-
XCH
A,eam
2+
5 + (a)
0
Z
-
-
-
-
-
-
-
-
-
XCH
Ri,ear
2
7
4
-
-
-
-
-
-
-
-
-
-
XCH
Ri,eam
2+
9 + (a)
2
-
-
-
-
-
-
-
-
-
-
2 × (b) byte (A) ←→ (eam)
0
byte (Ri) ←→ (ear)
2 × (b) byte (Ri) ←→ (eam)
( 注意事項 ) 表中の (a), (b) は , 表 B.5-1 および表 B.5-2 を参照してください。
477
付録
表 B.8-2 転送系命令 ( ワード・ロングワード ) 38 命令
ニーモニック
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C
RMW
MOVW
A,dir
2
3
0
(c)
word (A) ← (dir)
-
*
-
-
-
*
*
-
-
-
MOVW
A,addr16
3
4
0
(c)
word (A) ← (addr16)
-
*
-
-
-
*
*
-
-
-
MOVW
A,SP
1
1
0
0
word (A) ← (SP)
-
*
-
-
-
*
*
-
-
-
MOVW
A,RWi
1
2
1
0
word (A) ← (RWi)
-
*
-
-
-
*
*
-
-
-
MOVW
A,ear
2
2
1
0
word (A) ← (ear)
-
*
-
-
-
*
*
-
-
-
MOVW
A,eam
2+
3 + (a)
0
(c)
word (A) ← (eam)
-
*
-
-
-
*
*
-
-
-
MOVW
A,io
2
3
0
(c)
word (A) ← (io)
-
*
-
-
-
*
*
-
-
-
MOVW
A,@A
2
3
0
(c)
word (A) ← ((A))
-
-
-
-
-
*
*
-
-
MOVW
A,#imm16
3
2
0
0
word (A) ← imm16
-
*
-
-
-
*
*
-
-
-
MOVW
A,@RWi+disp8
2
5
1
(c)
word (A) ← ((RWi)+disp8)
-
*
-
-
-
*
*
-
-
-
MOVW
A,@RLi+disp8
3
10
2
(c)
word (A) ← ((RLi)+disp8)
-
*
-
-
-
*
*
-
-
-
MOVW
dir,A
2
3
0
(c)
word (dir) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
addr16,A
3
4
0
(c)
word (addr16) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
SP,A
1
1
0
0
word (SP) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi,A
1
2
1
0
word (RWi) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
ear,A
2
2
1
0
word (ear) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
eam,A
2+
3 + (a)
0
(c)
word (eam) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
io,A
2
3
0
(c)
word (io) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
@RWi+disp8,A
2
5
1
(c)
word ((RWi)+disp8) ← (A)
-
-
-
-
-
*
*
-
-
MOVW
@RLi+disp8,A
3
10
2
(c)
word ((RLi)+disp8) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi,ear
2
3
2
0
word (RWi) ← (ear)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi,eam
2+
4 + (a)
1
(c)
word (RWi) ← (eam)
-
-
-
-
-
*
*
-
-
-
MOVW
ear,RWi
2
4
2
0
word (ear) ← (RWi)
-
-
-
-
-
*
*
-
-
-
MOVW
eam,RWi
2+
5 + (a)
1
(c)
word (eam) ← (RWi)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi,#imm16
3
2
1
0
word (RWi) ← imm16
-
-
-
-
-
*
*
-
-
MOVW
io,#imm16
4
5
0
(c)
word (io) ← imm16
-
-
-
-
-
-
-
-
-
-
MOVW
ear,#imm16
4
2
1
0
word (ear) ← imm16
-
-
-
-
-
*
*
-
-
-
MOVW
eam,#imm16
4+
4 + (a)
0
(c)
word (eam) ← imm16
-
-
-
-
-
-
-
-
-
-
MOVW
@AL,AH
2
3
0
(c)
word ((A)) ← (AH)
-
-
-
-
-
*
*
-
-
-
XCHW
A,ear
2
4
2
0
word (A) ←→ (ear)
-
-
-
-
-
-
-
-
-
-
XCHW
A,eam
2+
5 + (a)
0
2 × (c)
word (A) ←→ (eam)
-
-
-
-
-
-
-
-
-
-
XCHW
RWi, ear
2
7
4
0
word (RWi) ←→ (ear)
-
-
-
-
-
-
-
-
-
-
XCHW
RWi, eam
2+
9 + (a)
2
2 × (c)
word (RWi) ←→ (eam)
-
-
-
-
-
-
-
-
-
-
MOVL
A,ear
2
4
2
0
long (A) ← (ear)
-
-
-
-
-
*
*
-
-
-
MOVL
A,eam
2+
5 + (a)
0
(d)
long (A) ← (eam)
-
-
-
-
-
*
*
-
-
-
MOVL
A,#imm32
5
3
0
0
long (A) ← imm32
-
-
-
-
-
*
*
-
-
-
MOVL
ear,A
2
4
2
0
long (ear) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVL
eam,A
2+
5 + (a)
0
(d)
long(eam) ← (A)
-
-
-
-
-
*
*
-
-
-
( 注意事項 ) 表中の (a), (c), (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
478
付録 B 命令
表 B.8-3 加減算命令 ( バイト・ワード・ロングワード ) 42 命令
ニーモニック
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
ADD
A,#imm8
2
2
0
0
byte (A) ← (A) + imm8
Z
-
-
-
-
*
*
*
*
-
ADD
A,dir
2
5
0
(b)
byte (A) ← (A) + (dir)
Z
-
-
-
-
*
*
*
*
-
ADD
A,ear
2
3
1
0
byte (A) ← (A) + (ear)
Z
-
-
-
-
*
*
*
*
-
ADD
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) + (eam)
Z
-
-
-
-
*
*
*
*
-
ADD
ear,A
2
3
2
0
byte (ear) ← (ear) + (A)
-
-
-
-
-
*
*
*
*
-
ADD
eam,A
2+
5 + (a)
0
2 × (b)
byte (eam) ← (eam) + (A)
Z
-
-
-
-
*
*
*
*
*
ADDC
A
1
2
0
0
byte (A) ← (AH) + (AL) + (C)
Z
-
-
-
-
*
*
*
*
-
ADDC
A,ear
2
3
1
0
byte (A) ← (A) + (ear)+ (C)
Z
-
-
-
-
*
*
*
*
-
ADDC
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) + (eam)+ (C)
Z
-
-
-
-
*
*
*
*
-
ADDDC A
1
3
0
0
byte (A) ← (AH) + (AL) + (C) (10 進数 )
Z
-
-
-
-
*
*
*
*
-
SUB
A,#imm8
2
2
0
0
byte (A) ← (A) - imm8
Z
-
-
-
-
*
*
*
*
-
SUB
A,dir
2
5
0
(b)
byte (A) ← (A) - (dir)
Z
-
-
-
-
*
*
*
*
-
SUB
A,ear
2
3
1
0
byte (A) ← (A) - (ear)
Z
-
-
-
-
*
*
*
*
-
SUB
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) - (eam)
Z
-
-
-
-
*
*
*
*
-
SUB
ear,A
2
3
2
0
byte (ear) ← (ear) - (A)
-
-
-
-
-
*
*
*
*
-
SUB
eam,A
2+
5 + (a)
0
2 × (b)
byte (eam) ← (eam) - (A)
-
-
-
-
-
*
*
*
*
*
SUBC
A
1
2
0
0
byte (A) ← (AH) - (AL) - (C)
Z
-
-
-
-
*
*
*
*
-
SUBC
A,ear
2
3
1
0
byte (A) ← (A) - (ear) - (C)
Z
-
-
-
-
*
*
*
*
-
SUBC
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) - (eam) - (C)
Z
-
-
-
-
*
*
*
*
-
SUBDC
A
1
3
0
0
byte (A) ← (AH) - (AL) - (C) (10 進数 )
Z
-
-
-
-
*
*
*
*
-
ADDW
A
1
2
0
0
word (A) ← (AH) + (AL)
-
-
-
-
-
*
*
*
*
-
ADDW
A,ear
2
3
1
0
word (A) ← (A) + (ear)
-
-
-
-
-
*
*
*
*
-
ADDW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) + (eam)
-
-
-
-
-
*
*
*
*
-
ADDW
A,#imm16
3
2
0
0
word (A) ← (A) + imm16
-
-
-
-
-
*
*
*
*
-
word (ear) ← (ear) + (A)
-
-
-
-
-
*
*
*
*
-
word (eam) ← (eam) + (A)
-
-
-
-
-
*
*
*
*
*
ADDW
ear,A
2
3
2
0
ADDW
eam,A
2+
5+(a)
0
2 × (c)
ADDCW A,ear
2
3
1
0
word (A) ← (A) + (ear) + (C)
-
-
-
-
-
*
*
*
*
-
ADDCW A,eam
2+
4+(a)
0
(c)
word (A) ← (A) + (eam) + (C)
-
-
-
-
-
*
*
*
*
-
SUBW
A
1
2
0
0
word (A) ← (AH) - (AL)
-
-
-
-
-
*
*
*
*
-
SUBW
A,ear
2
3
1
0
word (A) ← (A) - (ear)
-
-
-
-
-
*
*
*
*
-
SUBW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) - (eam)
-
-
-
-
-
*
*
*
*
-
SUBW
A,#imm16
3
2
0
0
word (A) ← (A) - imm16
-
-
-
-
-
*
*
*
*
-
word (ear) ← (ear) - (A)
-
-
-
-
-
*
*
*
*
-
word (eam) ← (eam) - (A)
-
-
-
-
-
*
*
*
*
*
SUBW
ear,A
2
3
2
0
SUBW
eam,A
2+
5+(a)
0
2 × (c)
SUBCW A,ear
2
3
1
0
word (A) ← (A) - (ear) - (C)
-
-
-
-
-
*
*
*
*
-
SUBCW A,eam
2+
4+(a)
0
(c)
word (A) ← (A) - (eam) - (C)
-
-
-
-
-
*
*
*
*
-
ADDL
A,ear
2
6
2
0
long (A) ← (A) + (ear)
-
-
-
-
-
*
*
*
*
-
ADDL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) + (eam)
-
-
-
-
-
*
*
*
*
-
ADDL
A,#imm32
5
4
0
0
long (A) ← (A) + imm32
-
-
-
-
-
*
*
*
*
-
SUBL
A,ear
2
6
2
0
long (A) ← (A) - (ear)
-
-
-
-
-
*
*
*
*
-
SUBL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) - (eam)
-
-
-
-
-
*
*
*
*
-
SUBL
A,#imm32
5
4
0
0
long (A) ← (A) - imm32
-
-
-
-
-
*
*
*
*
-
( 注意事項 ) 表中の (a) ∼ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
479
付録
表 B.8-4 増減算命令 ( バイト・ワード・ロングワード ) 12 命令
ニーモニック
#
∼
RG
B
INC
ear
2
3
2
0
INC
eam
2+
5+(a)
0
2 × (b)
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
byte (ear) <-- (ear) + 1
-
-
-
-
-
*
*
*
-
-
byte (eam) ← (eam) + 1
-
-
-
-
-
*
*
*
-
*
DEC
ear
2
3
2
0
byte (ear) ← (ear) - 1
-
-
-
-
-
*
*
*
-
-
DEC
eam
2+
5+(a)
0
2 × (b)
byte (eam) ← (eam) - 1
-
-
-
-
-
*
*
*
-
*
word (ear) ← (ear) + 1
-
-
-
-
-
*
*
*
-
-
word (eam) ← (eam) + 1
-
-
-
-
-
*
*
*
-
*
word (ear) ← (ear) - 1
-
-
-
-
-
*
*
*
-
-
word (eam) ← (eam) - 1
-
-
-
-
-
*
*
*
-
*
long (ear) ← (ear) + 1
-
-
-
-
-
*
*
*
-
-
long (eam) ← (eam) + 1
-
-
-
-
-
*
*
*
-
*
long (ear) ← (ear) - 1
-
-
-
-
-
*
*
*
-
-
long (eam) ← (eam) - 1
-
-
-
-
-
*
*
*
-
*
LH
AH
I
S
T
N
Z
V
C RMW
INCW
ear
2
3
2
0
INCW
eam
2+
5+(a)
0
2 × (c)
DECW
ear
2
3
2
0
DECW
eam
2+
5+(a)
0
2 × (c)
INCL
ear
2
7
4
0
INCL
eam
2+
9+(a)
0
2 × (d)
DECL
ear
2
7
4
0
DECL
eam
2+
9+(a)
0
2 × (d)
( 注意事項 ) 表中の (a) ∼ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
表 B.8-5 比較命令 ( バイト・ワード・ロングワード ) 11 命令
ニーモニック
#
∼
RG
B
オペレーション
CMP
A
1
1
0
0
byte (AH) - (AL)
-
-
-
-
-
*
*
*
*
-
CMP
A,ear
2
2
1
0
byte (A) - (ear)
-
-
-
-
-
*
*
*
*
-
CMP
A,eam
2+
3+(a)
0
(b)
byte (A) - (eam)
-
-
-
-
-
*
*
*
*
-
CMP
A,#imm8
2
2
0
0
byte (A) - imm8
-
-
-
-
-
*
*
*
*
-
CMPW
A
1
1
0
0
word (AH) - (AL)
-
-
-
-
-
*
*
*
*
-
CMPW
A,ear
2
2
1
0
word (A) - (ear)
-
-
-
-
-
*
*
*
*
-
CMPW
A,eam
2+
3+(a)
0
(c)
word (A) - (eam)
-
-
-
-
-
*
*
*
*
-
CMPW
A,#imm16
3
2
0
0
word (A) - imm16
-
-
-
-
-
*
*
*
*
-
CMPL
A,ear
2
6
2
0
long (A) - (ear)
-
-
-
-
-
*
*
*
*
-
CMPL
A,eam
2+
7+(a)
0
(d)
long (A) - (eam)
-
-
-
-
-
*
*
*
*
-
CMPL
A,#imm32
5
3
0
0
long (A) - imm32
-
-
-
-
-
*
*
*
*
-
( 注意事項 ) 表中の (a) ∼ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
480
付録 B 命令
表 B.8-6 符号なし乗除算命令 ( ワード・ロングワード ) 11 命令
ニーモニック
#
∼
RG
B
LH
AH
I
S
T
N
Z
V
C RMW
DIVU
A
1
*1
0
0
word (AH) / byte (AL)
商→ byte (AL) 余り→ byte (AH)
-
-
-
-
-
-
-
*
*
-
DIVU
A,ear
2
*2
1
0
word (A) / byte (ear)
商→ byte (A) 余り→ byte (ear)
-
-
-
-
-
-
-
*
*
-
DIVU
A,eam
2+
*3
0
*6
word (A) / byte (eam)
商→ byte (A) 余り→ byte (eam)
-
-
-
-
-
-
-
*
*
-
DIVUW
A,ear
2
*4
1
0
long (A) / word (ear)
商→ word (A) 余り→ word (ear)
-
-
-
-
-
-
-
*
*
-
DIVUW
A,eam
2+
*5
0
*7
long (A) / word (eam)
商→ word (A) 余り→ word (eam)
-
-
-
-
-
-
-
*
*
-
MULU
MULU
A
1
*8
0
0
byte (AH) * byte (AL) → word (A)
-
-
-
-
-
-
-
-
-
-
A,ear
2
*9
1
0
byte (A) * byte (ear) → word (A)
-
-
-
-
-
-
-
-
-
-
MULU
A,eam
2+
*10
0
(b)
MULUW
A
1
*11
0
0
MULUW
A,ear
2
*12
1
MULUW
A,eam
2+
*13
0
オペレーション
byte (A) * byte (eam) → word (A)
-
-
-
-
-
-
-
-
-
-
word (AH) * word (AL) → Long (A)
-
-
-
-
-
-
-
-
-
-
0
word (A) * word (ear) → Long (A)
-
-
-
-
-
-
-
-
-
-
(c)
word (A) * word (eam) → Long (A)
-
-
-
-
-
-
-
-
-
-
*1:ゼロディバイトの場合 , 3 オーバフローの場合 , 7 正常の場合 , 15
*2:ゼロディバイトの場合 , 4 オーバフローの場合 , 8 正常の場合 , 16
*3:ゼロディバイトの場合 , 6+(a) オーバフローの場合 , 9+(a) 正常の場合 , 19+(a)
*4:ゼロディバイトの場合 , 4 オーバフローの場合 , 7 正常の場合 , 22
*5:ゼロディバイトの場合 , 6+(a) オーバフローの場合 , 8+(a) 正常の場合 , 26+(a)
*6:ゼロディバイト , またはオーバフローの場合 , (b) 正常の場合 , 2 × (b)
*7:ゼロディバイト , またはオーバフローの場合 , (c) 正常の場合 , 2 × (c)
*8:byte(AH) がゼロの場合 , 3 byte(AH) がゼロでない場合 , 7
*9:byte(ear) がゼロの場合 , 4 byte(ear) がゼロでない場合 , 8
*10:byte(eam) がゼロの場合 , 5+(a) byte(eam) がゼロでない場合 , 9+(a)
*11:word(AH) がゼロの場合 , 3 word(AH) がゼロでない場合 , 11
*12:word(ear) がゼロの場合 , 4 word(ear) がゼロでない場合 , 12
*13:word(eam) がゼロの場合 , 5+(a) word(eam) がゼロでない場合 , 13+(a)
( 注意事項 ) 表中の (a),(b),(c) は , 表 B.5-1 および表 B.5-2 を参照してください。
481
付録
表 B.8-7 符号付き乗除算命令 ( ワード・ロングワード ) 11 命令
ニーモニック
#
∼
RG
B
LH
AH
I
S
T
N
Z
V
C RMW
DIV
A
2
*1
0
0
word (AH) / byte (AL)
商 --> byte (AL) 余り→ byte (AH)
Z
-
-
-
-
-
-
*
*
-
DIV
A,ear
2
*2
1
0
word (A) / byte (ear)
商 --> byte (A) 余り→ byte (ear)
Z
-
-
-
-
-
-
*
*
-
DIV
A,eam
2+
*3
0
*6
word (A) / byte (eam)
商→ byte (A) 余り→ byte (eam)
Z
-
-
-
-
-
-
*
*
-
DIVW
A,ear
2
*4
1
0
long (A) / word (ear)
商 --> word (A) 余り→ word (ear)
-
-
-
-
-
-
-
*
*
-
DIVW
A,eam
2+
*5
0
*7
long (A) / word (eam)
商→ word (A) 余り→ word (eam)
-
-
-
-
-
-
-
*
*
-
MUL
A
2
*8
MUL
A,ear
2
*9
0
0
byte (AH) * byte (AL) → word (A)
-
-
-
-
-
-
-
-
-
-
1
0
byte (A) * byte (ear) → word (A)
-
-
-
-
-
-
-
-
-
-
MUL
A,eam
2+
*10
MULW
A
2
*11
0
(b)
byte (A) * byte (eam) → word (A)
-
-
-
-
-
-
-
-
-
-
0
0
word (AH) * word (AL) → Long (A)
-
-
-
-
-
-
-
-
-
MULW
A,ear
2
-
*12
1
0
word (A) * word (ear) → Long (A)
-
-
-
-
-
-
-
-
-
-
MULW
A,eam
2+
*13
0
(c)
word (A) * word (eam) → Long (A)
-
-
-
-
-
-
-
-
-
-
オペレーション
*1:ゼロディバイトの場合 , 3 オーバフローの場合 , 8 or 18 正常の場合 , 18
*2:ゼロディバイトの場合 , 4 オーバフローの場合 , 11 or 22 正常の場合 , 23
*3:ゼロディバイトの場合 , 5+(a) オーバフローの場合 12+(a) or 23+(a) 正常の場合 , 24+(a)
*4:被除数が正 : ゼロディバイトの場合 , 4 オーバフローの場合 , 12 or 30 正常の場合 , 31
被除数が負 : ゼロディバイトの場合 , 4 オーバフローの場合 , 12 or 31 正常の場合 , 32
*5:被除数が正 : ゼロディバイトの場合 , 5+(a) オーバフローの場合 , 12+(a) or 31+(a) 正常の場合 , 32+(a)
被除数が負 : ゼロディバイトの場合 , 5+(a) オーバフローの場合 , 13+(a) or 32+(a) 正常の場合 , 33+(a)
*6:ゼロディバイト , またはオーバフローの場合 , (b) 正常の場合 , 2 × (b)
*7:ゼロディバイト , またはオーバフローの場合 , (c) 正常の場合 , 2 × (c)
*8:byte(AH) がゼロの場合 , 3 結果が正の場合 , 12 結果が負の場合 , 13
*9:byte(ear) がゼロの場合 , 4 結果が正の場合 , 13 結果が負の場合 , 14
*10:byte(eam) がゼロの場合 , 5+(a) 結果が正の場合 , 14+(a) 結果が負の場合 , 15+(a)
*11:word(AH) がゼロの場合 , 3 結果が正の場合 , 16 結果が負の場合 , 19
*12:word(ear) がゼロの場合 , 4 結果が正の場合 , 17 結果が負の場合 , 20
*13:word(eam) がゼロの場合 , 5+(a) 結果が正の場合 , 18+(a) 結果が負の場合 , 21+(a)
( 注意事項 ) ・ DIV, DIVW 命令でオーバフロー発生時の実行サイクル数に 2 種類ありますが , 演算前と演算後に検出する場合が
あるためです。
DIV, DIVW 命令でオーバフロー発生時には , AL の内容は破壊されます。
・ 表中の (a),(b),(c) は , 表 B.5-1 および表 B.5-2 を参照してください。
482
付録 B 命令
表 B.8-8 論理 1 命令 ( バイト・ワード ) 39 命令
ニーモニック
#
∼
RG
B
AND
A,#imm8
2
2
0
0
AND
A,ear
2
3
1
0
LH
AH
I
S
T
N
Z
V
C RMW
byte (A) ← (A) and imm8
-
-
-
-
-
*
*
R
-
-
byte (A) ← (A) and (ear)
-
-
-
-
-
*
*
R
-
-
オペレーション
AND
A,eam
2+
4+(a)
0
(b)
byte (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
-
AND
ear,A
2
3
2
0
byte (ear) ← (ear) and (A)
-
-
-
-
-
*
*
R
-
-
AND
eam,A
2+
5+(a)
0
2 × (b)
byte (eam) ← (eam) and (A)
-
-
-
-
-
*
*
R
-
*
OR
A,#imm8
2
2
0
0
byte (A) ← (A) or imm8
-
-
-
-
-
*
*
R
-
-
OR
A,ear
2
3
1
0
byte (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
OR
A,eam
2+
4+(a)
0
(b)
byte (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
OR
ear,A
2
3
2
0
byte (ear) ← (ear) or (A)
-
-
-
-
-
*
*
R
-
-
OR
eam,A
2+
5+(a)
0
2 × (b)
byte (eam) ← (eam) or (A)
-
-
-
-
-
*
*
R
-
*
byte (A) ← (A) xor imm8
-
-
-
-
-
*
*
R
-
-
byte (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
-
XOR
A,#imm8
2
2
0
0
XOR
A,ear
2
3
1
0
XOR
A,eam
2+
4+(a)
0
(b)
byte (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
-
XOR
ear,A
2
3
2
0
byte (ear) ← (ear) xor (A)
-
-
-
-
-
*
*
R
-
-
XOR
eam,A
2+
5+(a)
0
2 × (b)
byte (eam) ← (eam) xor (A)
-
-
-
-
-
*
*
R
-
*
NOT
A
1
2
0
0
byte (A) ← not (A)
-
-
-
-
-
*
*
R
-
-
NOT
ear
2
3
2
0
byte (ear) ← not (ear)
-
-
-
-
-
*
*
R
-
-
NOT
eam
2+
5+(a)
0
2 × (b)
byte (eam) ← not (eam)
-
-
-
-
-
*
*
R
-
*
ANDW
A
1
2
0
0
word (A) ← (AH) and (A)
-
-
-
-
-
*
*
R
-
-
ANDW
A,#imm16
3
2
0
0
word (A) ← (A) and imm16
-
-
-
-
-
*
*
R
-
-
ANDW
A,ear
2
3
1
0
word (A) ← (A) and (ear)
-
-
-
-
-
*
*
R
-
-
ANDW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
-
ANDW
ear,A
2
3
2
0
word (ear) ← (ear) and (A)
-
-
-
-
-
*
*
R
-
-
ANDW
eam,A
2+
5+(a)
0
2 × (c)
word (eam) ← (eam) and (A)
-
-
-
-
-
*
*
R
-
*
ORW
A
1
2
0
0
word (A) ← (AH) or (A)
-
-
-
-
-
*
*
R
-
-
ORW
A,#imm16
3
2
0
0
word (A) ← (A) or imm16
-
-
-
-
-
*
*
R
-
-
ORW
A,ear
2
3
1
0
word (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
ORW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
word (ear) ← (ear) or (A)
-
-
-
-
-
*
*
R
-
-
word (eam) ← (eam) or (A)
-
-
-
-
-
*
*
R
-
*
ORW
ear,A
2
3
2
0
ORW
eam,A
2+
5+(a)
0
2 × (c)
XORW
A
1
2
0
0
word (A) ← (AH) xor (A)
-
-
-
-
-
*
*
R
-
-
XORW
A,#imm16
3
2
0
0
word (A) ← (A) xor imm16
-
-
-
-
-
*
*
R
-
-
XORW
A,ear
2
3
1
0
word (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
-
XORW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
-
word (ear) ← (ear) xor (A)
-
-
-
-
-
*
*
R
-
-
word (eam) ← (eam) xor (A)
-
-
-
-
-
*
*
R
-
*
-
XORW
ear,A
2
3
2
0
XORW
eam,A
2+
5+(a)
0
2 × (c)
NOTW
A
1
2
0
0
word (A) ← not (A)
-
-
-
-
-
*
*
R
-
NOTW
ear
2
3
2
0
word (ear) ← not (ear)
-
-
-
-
-
*
*
R
-
-
NOTW
eam
2+
5+(a)
0
2 × (c)
word (eam) ← not (eam)
-
-
-
-
-
*
*
R
-
*
( 注意事項 ) 表中の (a), (b), (c) は , 表 B.5-1 および表 B.5-2 を参照してください。
483
付録
表 B.8-9 論理 2 演算命令 ( ロングワード ) 6 命令
#
∼
RG
B
ANDL
A,ear
2
6
2
0
ANDL
A,eam
2+
7+(a)
0
(d)
ORL
A,ear
2
6
2
0
long (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
ORL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
long (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
-
long (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
-
LH
AH
I
S
T
N
Z
V
C RMW
ニーモニック
XORL
A,ear
2
6
2
0
XORL
A,eam
2+
7+(a)
0
(d)
LH
AH
I
S
T
N
Z
V
C RMW
long (A) ← (A) and (ear)
-
-
-
-
-
*
*
R
-
-
long (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
-
オペレーション
( 注意事項 ) 表中の (a), (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
表 B.8-10 符号反転命令 ( バイト・ワード ) 6 命令
ニーモニック
#
∼
RG
B
1
2
0
0
byte (A) ← 0 - (A)
X
-
-
-
-
*
*
*
*
byte (ear) ← 0 - (ear)
-
-
-
-
-
*
*
*
*
-
-
-
-
-
*
*
*
*
*
-
オペレーション
NEG
A
-
NEG
ear
2
3
2
0
NEG
eam
2+
5+(a)
0
2 × (b)
byte (eam) ← 0 - (eam)
-
NEGW
A
1
2
0
0
word (A) ← 0 - (A)
-
-
-
-
-
*
*
*
*
NEGW
ear
2
3
2
0
word (ear) ← 0 - (ear)
-
-
-
-
-
*
*
*
*
-
NEGW
eam
2+
5+(a)
0
2 × (c)
word (eam) ← 0 - (eam)
-
-
-
-
-
*
*
*
*
*
( 注意事項 ) 表中の (a), (b), (c) は , 表 B.5-1 および表 B.5-2 を参照してください。
表 B.8-11 ノーマライズ命令 ( ロングワード ) 1 命令
ニーモニック
NRML
A,R0
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
2
*1
1
0
long (A) ← 最初に "1" が立っていた所まで左
シフトする
byte (R0) ← その場合のシフト回数
-
-
-
-
-
-
*
-
-
*1:アキュムレータがすべて "0" であった場合は , 4 "0" 以外であった場合は , 6+(R0)
484
-
付録 B 命令
表 B.8-12 シフト命令 ( バイト・ワード・ロングワード ) 18 命令
ニーモニック
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
RORC
A
2
2
0
0
byte (A) ← 右ローテートキャリー付
-
-
-
-
-
*
*
-
*
-
ROLC
A
2
2
0
0
byte (A) ← 左ローテートキャリー付
-
-
-
-
-
*
*
-
*
-
RORC
ear
2
3
2
0
byte (ear) ← 右ローテートキャリー付
RORC
eam
2+
5+(a)
0
2 × (b) byte (eam) ← 右ローテートキャリー付
ROLC
ear
2
3
2
ROLC
eam
2+
5+(a)
0
0
ASR
A,R0
2
*1
1
0
LSR
A,R0
2
*1
1
0
LSL
A,R0
2
*1
1
ASRW
A
1
2
LSRW
A/SHRW A
1
LSLW
A/SHLW A
1
ASRW
A,R0
2
*1
LSRW
A,R0
2
*1
LSLW
A,R0
2
*1
ASRL
A,R0
2
*2
LSRL
A,R0
2
LSLL
A,R0
2
-
-
-
-
-
*
*
-
*
-
-
-
-
-
-
*
*
-
*
*
-
-
-
-
-
*
*
-
*
-
-
-
-
-
-
*
*
-
*
*
byte (A) ← 算術右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
byte (A) ← ロジカル右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
0
byte (A) ← ロジカル左バレルシフト (A,R0)
-
-
-
-
-
*
*
-
*
-
0
0
word (A) ← 算術右シフト (A,1 ビット )
-
-
-
-
*
*
*
-
*
-
2
0
0
word (A) ← ロジカル右シフト (A,1 ビット )
-
-
-
-
*
R
*
-
*
-
2
0
0
word (A) ← ロジカル左シフト (A,1 ビット )
-
-
-
-
-
*
*
-
*
-
1
0
word (A) ← 算術右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
1
0
word (A) ← ロジカル右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
1
0
word (A) ←ロジカル左バレルシフト (A,R0)
-
-
-
-
-
*
*
-
*
-
1
0
long (A) ← 算術右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
*2
1
0
long (A) ← ロジカル右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
*2
1
0
long (A) <-- ロジカル左バレルシフト (A,R0)
-
-
-
-
-
*
*
-
*
-
byte (ear) ← 左ローテートキャリー付
2 × (b) byte (eam) ← 左ローテートキャリー付
*1:R0 が "0" であった場合 , 6 "0" 以外であった場合は , 5+(R0)
*2:R0 が "0" であった場合 , 6 "0" 以外であった場合は , 6+(R0)
( 注意事項 ) 表中の (a),(b) は , 表 B.5-1 および表 B.5-2 を参照してください。
485
付録
表 B.8-13 分岐命令 1 31 命令
#
ニーモニック
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
BZ/BEQ
rel
2
*1
0
0
(Z) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BNZ/BNE
rel
2
*1
0
0
(Z) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BC/BLO
rel
2
*1
0
0
(C) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BNC/BHS
rel
2
*1
0
0
(C) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BN
rel
2
*1
0
0
(N) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BP
rel
2
*1
0
0
(N) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BV
rel
2
*1
0
0
(V) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BNV
rel
2
*1
0
0
(V) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BT
rel
2
*1
0
0
(T) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BNT
rel
2
*1
0
0
(T) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BLT
rel
2
*1
0
0
(V) xor (N) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BGE
rel
2
*1
0
0
(V) xor (N) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BLE
rel
2
*1
0
0
((V) xor (N)) or (Z) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BGT
rel
2
*1
0
0
((V) xor (N)) or (Z) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BLS
rel
2
*1
0
0
(C) or (Z) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BHI
rel
2
*1
0
0
(C) or (Z) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BRA
rel
2
*1
0
0
無条件分岐
-
-
-
-
-
-
-
-
-
-
JMP
@A
1
2
0
0
word (PC) ← (A)
-
-
-
-
-
-
-
-
-
-
JMP
addr16
3
3
0
0
word (PC) ← addr16
-
-
-
-
-
-
-
-
-
-
JMP
@ear
2
3
1
0
word (PC) ← (ear)
-
-
-
-
-
-
-
-
-
-
JMP
@eam
2+
4+(a)
0
(c)
word (PC) ← (eam)
-
-
-
-
-
-
-
-
-
-
JMPP
@ear
注 1)
2
5
2
0
word (PC) ← (ear), (PCB) ← (ear+2)
-
-
-
-
-
-
-
-
-
-
JMPP
@eam
注 1)
2+
6+(a)
0
(d)
word (PC) ← (eam), (PCB) ← (eam+2)
-
-
-
-
-
-
-
-
-
-
JMPP
addr24
4
4
0
0
CALL
@ear
注 2)
2
6
1
(c)
CALL
@eam
word (PC) ← ad24 0-15, (PCB) ← ad24 16-23
-
-
-
-
-
-
-
-
-
-
word (PC) ← (ear)
-
-
-
-
-
-
-
-
-
-
2 × (c) word (PC) ← (eam)
注 2)
2+
7+(a)
0
CALL
addr16 注 3)
3
6
0
CALLV
#vct4
注 3)
1
7
0
2 × (c) ベクタコール命令
CALLP
@ear
注 4)
2
10
2
2 × (c) word (PC) ← (ear)0-15, (PCB) ← (ear)16-23
11+(a)
0
10
0
CALLP
@eam
注 4)
2+
CALLP
addr24 注 5)
4
(c)
*2
word (PC) ← addr16
word (PC) ← (eam)0-15, (PCB) ← (eam)16-23
2 × (c) word (PC) ← addr0-15, (PCB) ← addr16-23
*1:分岐が行われる場合 , 4 行われない場合 , 3
*2:3 × (c)+(b)
注 1) 分岐先アドレスの読込み (word)
注 2) W:スタックへの退避 (word), R:分岐先アドレスの読込み (word)
注 3) スタックへの退避 (word)
注 4) W:スタックへの退避 (long), R:分岐先アドレスの読込み (long)
注 5) スタックへの退避 (long)
( 注意事項 ) 表中の (a) ∼ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
486
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
付録 B 命令
表 B.8-14 分岐命令 2 19 命令
ニーモニック
#
∼
RG
B
CBNE
A,#imm8,rel
3
*1
0
0
byte (A) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
CWBNE
A,#imm16,rel
4
*1
0
0
word (A) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
CBNE
ear,#imm8,rel
4
*2
1
0
byte (ear) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
CBNE
eam,#imm8,rel
注 1)
4+
*3
0
(b)
byte (eam) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
CWBNE
ear,#imm16,rel
5
*4
1
0
word (ear) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
CWBNE
eam,#imm16,rel 注 1)
5+
*3
0
(c)
word (eam) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
DBNZ
ear,rel
3
*5
2
byte (ear) = (ear) - 1, (ear) ≠ 0 で分岐
-
-
-
-
- * * * -
-
DBNZ
eam,rel
3+
*6
2
-
-
-
-
- * * * -
*
DWBNZ
ear,rel
3
*5
2
-
-
-
-
- * * * -
-
DWBNZ
eam,rel
3+
*6
2
2 × (c) word (eam) = (eam) - 1, (eam) ≠ 0 で分岐
-
-
-
-
- * * * -
*
INT
#vct8
2
20
0
8 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
INT
addr16
3
16
0
6 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
INTP
addr24
4
17
0
6 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
INT9
1
20
0
8 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
RETI
1
*8
0
*7
割込みからの復帰
-
-
* * * * * * *
-
2
6
0
(c)
関数の入口で , 旧フレームポインタをスタッ
クに保存し , 新フレームポインタの設定 , お
よびローカルポインタの領域を確保する
-
-
-
-
-
-
-
-
-
-
1
5
0
(c)
関数の出口で , 旧フレームポインタをスタッ
クから復帰させる
-
-
-
-
-
-
-
-
-
-
注 2)
1
4
0
(c)
サブルーチンからの復帰
-
-
-
-
-
-
-
-
-
-
注 3)
1
6
0
(d)
サブルーチンからの復帰
-
-
-
-
-
-
-
-
-
-
LINK
#imm8
UNLINK
RET
RETP
0
オペレーション
2 × (b) byte (eam) = (eam) - 1, (eam) ≠ 0 で分岐
0
word (ear) = (ear) - 1, (ear) ≠ 0 で分岐
LH
AH
I S T N Z V C RMW
*1:分岐が行われる場合 , 5 行われない場合 , 4
*2:分岐が行われる場合 , 13 行われない場合 , 12
*3:分岐が行われる場合 , 7+(a) 行われない場合 , 6+(a)
*4:分岐が行われる場合 , 8 行われない場合 , 7
*5:分岐が行われる場合 , 7 行われない場合 , 6
*6:分岐が行われる場合 , 8+(a) 行われない場合 , 7+(a) *7:次の割込み要求へ分岐する場合 , 3 × (b)+2 × (c) 今の割込みから復帰の場合 , 6 × (c)
*8:次の割込みへ分岐する場合 , 15 今の割込みから復帰する場合 , 17
注 1) CBNE / CWBNE 命令では , RWj+ のアドレッシングモードは , 使用しないでください。
注 2) スタックからの復帰 (word)
注 3) スタックからの復帰 (long)
( 注意事項 ) 表中の (a) ∼ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
487
付録
表 B.8-15 その他制御命令 ( バイト・ワード・ロングワード ) 28 命令
ニーモニック
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
PUSHW
A
1
4
0
(c)
word (SP) ← (SP) - 2, ((SP)) ← (A)
-
-
-
-
-
-
-
-
-
-
PUSHW
AH
1
4
0
(c)
word (SP) ← (SP) - 2, ((SP)) ← (AH)
-
-
-
-
-
-
-
-
-
-
PUSHW
PS
1
4
0
(c)
word (SP) ← (SP) - 2, ((SP)) ← (PS)
-
-
-
-
-
-
-
-
-
-
PUSHW
rlst
2
*3
*5
*4
(SP) ← (SP) - 2n, ((SP)) ← (rlst)
-
-
-
-
-
-
-
-
-
-
POPW
A
1
3
0
(c)
word (A) ← ((SP)), (SP) ← (SP) + 2
-
*
-
-
-
-
-
-
-
-
POPW
AH
1
3
0
(c)
word (AH) ← ((SP)), (SP) ← (SP) + 2
-
-
-
-
-
-
-
-
-
-
POPW
PS
1
4
0
(c)
word (PS) ← ((SP)), (SP) ← (SP) + 2
-
-
*
*
*
*
*
*
*
-
POPW
rlst
2
*2
*5
*4
(rlst) ← ((SP)), (SP) ← (SP) + 2n
-
-
-
-
-
-
-
-
-
-
JCTX
@A
1
14
0
6 × (c)
コンテキストスイッチ命令
-
-
*
*
*
*
*
*
*
-
AND
CCR,#imm8
2
3
0
0
byte (CCR) ← (CCR) and imm8
-
-
*
*
*
*
*
*
*
-
OR
CCR,#imm8
2
3
0
0
byte (CCR) ← (CCR) or imm8
-
-
*
*
*
*
*
*
*
-
MOV
RP,#imm8
2
2
0
0
byte (RP) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
ILM,#imm8
2
2
0
0
byte (ILM) ← imm8
-
-
-
-
-
-
-
-
-
-
MOVEA
RWi,ear
2
3
1
0
word (RWi) ← ear
-
-
-
-
-
-
-
-
-
-
MOVEA
RWi,eam
2+
2+(a)
1
0
word (RWi) ← eam
-
-
-
-
-
-
-
-
-
-
MOVEA
A,ear
2
1
0
0
word (A) ← ear
-
*
-
-
-
-
-
-
-
-
MOVEA
A,eam
2+
1+(a)
0
0
word (A) ← eam
-
*
-
-
-
-
-
-
-
-
ADDSP
#imm8
2
3
0
0
word (SP) ← (SP) + ext(imm8)
-
-
-
-
-
-
-
-
-
-
ADDSP
#imm16
3
3
0
0
word (SP) ← (SP) + imm16
-
-
-
-
-
-
-
-
-
-
MOV
A,brg1
2
*1
0
0
byte (A) ← (brg1)
Z
*
-
-
-
*
*
-
-
-
MOV
brg2,A
2
1
0
0
byte (brg2) ← (A)
-
-
-
-
-
*
*
-
-
-
NOP
1
1
0
0
ノーオペレーション
-
-
-
-
-
-
-
-
-
-
ADB
1
1
0
0
AD 空間アクセス用プリフィックス
コード
-
-
-
-
-
-
-
-
-
-
DTB
1
1
0
0
DT 空間アクセス用プリフィックス
コード
-
-
-
-
-
-
-
-
-
-
PCB
1
1
0
0
PC 空間アクセス用プリフィックス
コード
-
-
-
-
-
-
-
-
-
-
SPB
1
1
0
0
SP 空間アクセス用プリフィックス
コード
-
-
-
-
-
-
-
-
-
-
NCC
1
1
0
0
フラグ無変化用プリフィックスコー
ド
-
-
-
-
-
-
-
-
-
-
CMR
1
1
0
0
コモンレジスタバンク用プリフィッ
クス
-
-
-
-
-
-
-
-
-
-
*1:PCB,ADB,SSB,USB・・・・・・1 ステート
DTB,DPR ・・・・・・・・・・2 ステート
*2:7+3 × (POP する回数 )+2 × (POP する最後のレジスタ番号 ), RLST=0( 転送レジスタ無し ) の場合 7
*3:29+3 × (PUSH する回数 )-3 × (PUSH する最後のレジスタ番号 ), RLST=0 ( 転送レジスタ無し ) の場合 8
*4:(POP する回数 ) × (c), または (PUSH する回数 ) × (c)
*5:(POP する回数 ), または (PUSH する回数 )
( 注意事項 ) 表中の (a),(c) は , 表 B.5-1 および表 B.5-2 を参照してください。
488
付録 B 命令
表 B.8-16 ビット操作命令 21 命令
#
ニーモニック
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
MOVB
A,dir:bp
3
5
0
(b)
byte (A) ← (dir:bp)b
Z
*
-
-
-
*
*
-
-
-
MOVB
A,addr16:bp
4
5
0
(b)
byte (A) ← (addr16:bp)b
Z
*
-
-
-
*
*
-
-
-
MOVB
A,io:bp
3
4
0
(b)
byte (A) ← (io:bp)b
Z
*
-
-
-
*
*
-
-
-
MOVB
dir:bp,A
3
7
0
2 × (b) bit (dir:bp)b ← (A)
-
-
-
-
-
*
*
-
-
*
MOVB
addr16:bp,A
4
7
0
2 × (b) bit (addr16:bp)b ← (A)
-
-
-
-
-
*
*
-
-
*
MOVB
io:bp,A
3
6
0
2 × (b) bit (io:bp)b ← (A)
-
-
-
-
-
*
*
-
-
*
SETB
dir:bp
3
7
0
2 × (b) bit (dir:bp)b ← 1
-
-
-
-
-
-
-
-
-
*
SETB
addr16:bp
4
7
0
2 × (b) bit (addr16:bp)b ← 1
-
-
-
-
-
-
-
-
-
*
SETB
io:bp
3
7
0
2 × (b) bit (io:bp)b ← 1
-
-
-
-
-
-
-
-
-
*
CLRB
dir:bp
3
7
0
2 × (b) bit (dir:bp)b ← 0
-
-
-
-
-
-
-
-
-
*
CLRB
addr16:bp
4
7
0
2 × (b) bit (addr16:bp)b ← 0
-
-
-
-
-
-
-
-
-
*
CLRB
io:bp
3
7
0
2 × (b) bit (io:bp)b ← 0
-
-
-
-
-
-
-
-
-
*
BBC
dir:bp,rel
4
*1
0
(b)
(dir:bp) b = 0 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBC
addr16:bp,rel
5
*1
0
(b)
(addr16:bp) b = 0 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBC
io:bp,rel
4
*2
0
(b)
(io:bp) b = 0 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBS
dir:bp,rel
4
*1
0
(b)
(dir:bp) b = 1 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBS
addr16:bp,rel
5
*1
0
(b)
(addr16:bp) b = 1 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBS
io:bp,rel
4
*2
0
(b)
(io:bp) b = 1 の場合分岐
-
-
-
-
-
-
*
-
-
-
SBBS
addr16:bp,rel
5
*3
0
-
-
-
-
-
-
*
-
-
*
2 × (b) (addr16:bp) b = 1 で分岐 ,
bit (addr16:bp) b ← 1
WBTS
io:bp
3
*4
0
*5
WBTC
io:bp
3
*4
0
*5
(io:bp) b = 1 になるまで待つ
-
-
-
-
-
-
-
-
-
-
(io:bp) b = 0 になるまで待つ
-
-
-
-
-
-
-
-
-
-
LH
AH
I
S
T
N
Z
V
C RMW
*1:分岐が行われる場合 , 8 分岐が行われない場合 , 7
*2:分岐が行われる場合 , 7 分岐が行われない場合 , 6
*3:条件成立の場合 , 10 未成立の場合 , 9
*4:不定回数
*5:条件が成立するまで
( 注意事項 ) 表中の (b) は , 表 B.5-1 および表 B.5-2 を参照してください。
表 B.8-17 アキュムレータ操作命令 ( バイト・ワード ) 6 命令
#
∼
RG
B
SWAP
1
3
0
0
byte (A)0-7 ←→ (A)8-15
-
-
-
-
-
-
-
-
-
-
SWAPW
1
2
0
0
word (AH) ←→ (AL)
-
*
-
-
-
-
-
-
-
-
EXT
1
1
0
0
byte 符号拡張
X
-
-
-
-
*
*
-
-
-
ニーモニック
オペレーション
EXTW
1
2
0
0
word 符号拡張
-
X
-
-
-
*
*
-
-
-
ZEXT
1
1
0
0
byte ゼロ拡張
Z
-
-
-
-
R
*
-
-
-
ZEXTW
1
1
0
0
word ゼロ拡張
-
Z
-
-
-
R
*
-
-
-
489
付録
表 B.8-18 ストリング命令 10 命令
#
∼
RG
B
MOVS / MOVSI
2
*2
*5
*3
MOVSD
2
*2
*5
*3
SCEQ / SCEQI
2
*1
*8
SCEQD
2
*1
*8
FILS / FILSI
2
6m+6
MOVSW / MOVSWI
2
*2
MOVSWD
2
*2
*5
SCWEQ / SCWEQI
2
*1
SCWEQD
2
*1
FILSW / FILSWI
2
6m+6
ニーモニック
LH
AH
I
S
T
N
Z
V
C RMW
byte 転送 @AH+ ← @AL+, カウンタ = RW0
-
-
-
-
-
-
-
-
-
-
byte 転送 @AH- ← @AL-, カウンタ = RW0
-
-
-
-
-
-
-
-
-
-
*4
byte 検索 @AH+ ← AL, カウンタ = RW0
-
-
-
-
-
*
*
*
*
-
*4
byte 検索 @AH- ← AL, カウンタ = RW0
-
-
-
-
-
*
*
*
*
-
*8
*3
byte 充填 @AH+ ← AL, カウンタ = RW0
-
-
-
-
-
*
*
-
-
-
*5
*6
word 転送 @AH+ ← @AL+, カウンタ = RW0
-
-
-
-
-
-
-
-
-
-
*6
word 転送 @AH- ← @AL-, カウンタ = RW0
-
-
-
-
-
-
-
-
-
-
*8
*7
word 検索 @AH+ - AL, カウンタ = RW0
-
-
-
-
-
*
*
*
*
-
*8
*7
word 検索 @AH- - AL, カウンタ = RW0
-
-
-
-
-
*
*
*
*
-
*8
*6
word 充填 @AH+ ← AL, カウンタ = RW0
-
-
-
-
-
*
*
-
-
-
オペレーション
*1:RW0 が "0" の場合 , 5 カウントアウトの場合 , 4+7 × (RW0) 一致した場合 , 7n+5
*2:RW0 が "0" の場合 , 5 "0" 以外の場合 , 4+8 × (RW0)
*3:(b) × (RW0)+(b) × (RW0) ソースとデスティネーションで異なる領域をアクセスする場合には , それぞれ別々に (b) の項目
を算出してください。
*4:(b)+n
*5:2 × (b) × (RW0)
*6:(c) × (RW0)+(c) × (RW0) ソースとデスティネーションで異なる領域をアクセスする場合には , それぞれ別々に (c) の項目
を算出してください。
*7:(c) × n
*8:(b) × (RW0)
( 注意事項 ) ・ m:RW0 値 ( カウンタ値 )
n:ループした回数
・ 表中の (b),(c) は , 表 B.5-1 および表 B.5-2 を参照してください。
490
付録 B 命令
B.9
命令マップ
F2MC-16LX の命令コードは , 1 ∼ 2 バイトで構成されていますので , 命令マップは
複数のページで構成されています。
F2MC-16LX の命令マップを示します。
■ 命令マップの構造
図 B.9-1 命令マップの構造
基本ページマップ
ビット操作系命令
文字列操作系命令
2 バイト系命令
:第 1 バイト
ea 系命令× 9
:第 2 バイト
1 バイトで終わる命令 (NOP 命令など ) は基本ページで完結し , 2 バイト必要とする命
令 (MOVS 命令など ) は第 1 バイトを参照した段階で第 2 バイト用のマップの存在がわ
かり , 第 2 バイト用のマップを参照して続く 1 バイトを調べることができます。
実際の命令コードと命令マップの対応を図 B.9-2 に示します。
491
付録
図 B.9-2 実際の命令コードと命令マップの対応
命令によっては
ない場合もある
命令によって
長さが異なる
命令コード 第 1 バイト
第 2 バイト
オペランド
オペランド
・・・
[ 基本ページマップ ]
XY
+Z
[ 拡張ページマップ ]*
UV
+W
*:拡張ページマップとはビット操作系命令・文字列操作系命令・2 バイト系命令・ea 系
命令の総称で , 実際は各系列の命令ごとに複数存在します。
命令コードの例を表 B.9-1 に示します。
表 B.9-1 命令コードの例
第 1 バイト
( 基本ページマップより )
第 2 バイト
( 拡張ページマップより )
NOP
00 + 0=00
―
AND A, #8
30 + 4=34
―
MOV A, ADB
60 + F=6F
00 + 0=00
@RW2+d8, #8, rel
70 + 0=70
F0 + 2=F2
命令
492
A
SWAP
ADDSP
ADB
SPB
#8
CMP
A, #8
A, #8
dir, A
A, dir
io, A
A, io
JMP
BRA
60
@A
rel
MULU
DIVU
ea 系命令
その 2
B0
C0
D0
E0
ea 系命令
その 8
ea 系命令
その 7
#4
rel
rel
BNT
BT
BNV
BV
BP
BN
rel
rel
rel
rel
rel
BNC/BHS
rel
BC/BLO
BNZ/BNE
rel
BZ/BEQ
F0
+F
+E
+D
+C
+B
LSRW
ASRW
LSLW
NEGW
A
A
A
A
XORW
ORW
ANDW
ANDW
PUSHW
POPW
A, #16
A
A
A
A
PUSHW
POPW
rlst
rlst
XORW
PUSHW
POPW
A, #16
PS
PS
MOVW
RWi, ea
2 バイト XCHW
RWi, ea
系命令
文字列操 XCH
Ri, ea
作系命令
MOVW
ea, RWi
ビット操 MOV
ea, Ri
作系命令
CMPW
MOVL
MOVW
RETI
A, #16
A, #32 addr16, A
ORW
PUSHW
POPW
A
A, #16
AH
AH
A
A
ADDSP
MULUW
NOTW
#16
A
SWAPW
ZEXTW
EXTW
CMPL
CMPW
A, #32
BHI
BLS
BGT
BLE
BGE
BLT
rel
rel
rel
rel
rel
rel
A
MOVW
MOVW
RETP
A, SP
io, #16
MOVX
MOVX
CALLP
ea 系命令
A, dir
A, io
addr24
その 6
MOVW
MOVX
RET
A
SP, A A, addr16
A, #8
A0
ADDW
MOVW
MOVW
INT
MOVW
MOVW
MOV A,
MOVW
ea 系命令 MOVW
A, #16
A, dir
A, io
#vct8
A, RWi
RWi, A RWi, #16 @RWi+d8 @RWi+d8,A
その 9
NOT
XOR
A, #8
90
rel
SUBL
SUBW
A, #32
A
A
A
OR
OR
CCR, #8
80
MOV
MOV
MOV
MOVX A, MOV
CALL
ea 系命令 MOV
A, Ri
Ri, A
Ri, #8
A, Ri @RWi+d8
A, #4
その 1
70
MOV
JMP
ea 系命令
A, addr16
addr16
その 3
MOV
MOV
50
MOVX
MOV
JMPP
ea 系命令
A, #8 addr16, A
addr24
その 4
MOV
MOV
MOV
40
MOV
MOV
CBNE A, CWBNE A, MOVW
MOVW
INTP
MOV
+A
RP, #8
ILM, #8
#8, rel
#16, rel
A, #16 A,addr16
addr24
Ri, ea
+9
UNLINK
A
A
A, #8
A, #8
SUBC
SUB
ADD
30
AND
AND
MOV
MOV
CALL
ea 系命令
CCR, #8
A, #8
dir, #8
io, #8
addr16
その 5
CMP
A
A, dir
A, dir
ADDC
SUB
ADD
20
LINK
ADDL
ADDW
#imm8
A, #32
ZEXT
DTB
@A
EXT
JCTX
PCB
A
SUBDC
ADDDC
NEG
NCC
INT9
A
CMR
NOP
10
SUBW
MOVW
MOVW
INT
MOVEA
A, #16
dir, A
io, A
addr16
RWi, ea
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
付録 B 命令
表 B.9-2 基本ページマップ
493
494
+F
+E
+D
+C
+B
+A
+9
+8
+7
+6
+5
+4
+3
+2
+1
+0
10
MOVB
io:bp, A
20
30
CLRB
io:bp
40
50
SETB
io:bp
60
70
BBC
io;bp, rel
80
90
BBS
io:bp, rel
A0
B0
MOVB
MOVB A, MOVB
MOVB
CLRB
CLRB
SETB
SETB
BBC
BBC
BBS
BBS
A, dir:bp addr16:bp
dir:bp, A addr16:bp,A
dir:bp addr16:bp
dir:bp addr16:bp dir:bp, rel addr16:bp,rel dir:bp, rel addr16:bp,rel
MOVB
A, io:bp
00
WBTS
io:bp
C0
D0
WBTC
io:bp
E0
SBBS
addr16:bp
F0
付録
表 B.9-3 ビット操作系命令マップ ( 第 1 バイト =6CH)
MOVSI
MOVSD
PCB, PCB
PCB, DTB
PCB, ADB
PCB, SPB
DTB, PCB
DTB, DTB
DTB, ADB
DTB, SPB
ADB, PCB
ADB, DTB
ADB, ADB
ADB, SPB
SPB, PCB
SPB, DTB
SPB, ADB
SPB, SPB
+1
+2
+3
+4
+5
+6
+7
+8
+9
+A
+B
+C
+D
+E
+F
10
+0
00
MOVSWI
20
MOVSWD
30
40
50
60
70
90
A0
B0
C0
SPB
ADB
DTB
SPB
ADB
DTB
SPB
ADB
DTB
SPB
ADB
DTB
SPB
ADB
DTB
SCEQI
SCEQD
SCWEQI SCWEQD FILSI
PCB
PCB
PCB
PCB
PCB
80
D0
FILSI
SPB
ADB
DTB
PCB
E0
F0
付録 B 命令
表 B.9-4 文字列操作系命令マップ ( 第 1 バイト =6EH)
495
496
LSLW
LSLL
LSL
MOVW
MOVW
A, R0
A, R0
A, R0 @RL2+d8, A A, @RL2+d8
MOVW
MOVW
NRML
A, @A @AL, AH
A, R0
ASRW
ASRL
ASR
MOVW
MOVW
A, R0
A, R0
A, R0 @RL3+d8, A A, @RL3+d8
LSRW
LSRL
LSR
A, R0
A, R0
A, R0
+D
+E
+F
MOVW
MOVW
@RL1+d8, A A, @RL1+d8
MOVW
MOVW
@RL0+d8, A A, @RL0+d8
+C
+B
+A
+9
+8
A
MOV
MOV
MOVX
MOV
MOV
A, PCB
A, @A A, @RL3+d8 @RL3+d8, A A, @RL3+d8
+6
ROLC
MOV
MOV
A, @A @AL, AH
+5
A
MOV
MOV
MOVX
MOV
MOV
A, DPR
DPR, A A, @RL2+d8 @RL2+d8, A A, @RL2+d8
+4
ROLC
MOV
MOV
A, USB
USB, A
+3
+7
MOV
MOV
MOVX
MOV
MOV
A, SSB
SSB, A A, @RL1+d8 @RL1+d8, A A, @RL1+d8
+2
40
MOV
MOV
A, ADB
ADB, A
30
+1
20
MOV
MOV
MOVX
MOV
MOV
A, DTB
DTB, A A, @RL0+d8 @RL0+d8, A A, @RL0+d8
10
+0
00
50
60
DIVU
MULW
MUL
70
A
A
A
80
90
A0
B0
C0
D0
E0
F0
付録
表 B.9-5 2 バイト系命令マップ ( 第 1 バイト =6FH)
@PC+d16, CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
使用禁止
使用禁止
+E A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
ADDL
ADDL A, SUBL
SUBL A,
A,@RW3+
addr16 A,@RW3+
addr16
SUBL
SUBL
SUBL A,
SUBL A,
addr16, CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16
@RW1+RW7 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
使用禁止
+D A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
+F
使用禁止
@RW0+RW7 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
使用禁止
+C A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
ADDL A,
@RW3, @RW3+d16 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
ADDL
ADDL A,
SUBL
SUBL A,
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
+B
ADDL
使用禁止
@RW2, @RW2+d16 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
ADDL
ADDL A,
SUBL
SUBL A,
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
+A
ADDL A,
@RW1, @RW1+d16 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
ADDL
ADDL A,
SUBL
SUBL A,
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
+9
ADDL
@RW0+RW7
,#8, rel
使用禁止
@RW0, @RW0+d16 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
ADDL
ADDL A,
SUBL
SUBL A,
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
+8
SUBL A,
RW7, @RW7+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL3 @RW7+d8
A, RL3 @RW7+d8
A, RL3 @RW7+d8
A, RL3 @RW7+d8
ADDL
ADDL A, SUBL
SUBL A,
A, RL3 @RW7+d8
A, RL3 @RW7+d8
+7
SUBL
RW6, @RW6+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL3 @RW6+d8
A, RL3 @RW6+d8
A, RL3 @RW6+d8
A, RL3 @RW6+d8
ADDL
ADDL A, SUBL
SUBL A,
A, RL3 @RW6+d8
A, RL3 @RW6+d8
+6
ADDL A,
RW5, @RW5+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL2 @RW5+d8
A, RL2 @RW5+d8
A, RL2 @RW5+d8
A, RL2 @RW5+d8
ADDL
ADDL A, SUBL
SUBL A,
A, RL2 @RW5+d8
A, RL2 @RW5+d8
+5
ADDL
@RW3, @RW3+d16
#8, rel
,#8, rel
RW4, @RW4+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL2 @RW4+d8
A, RL2 @RW4+d8
A, RL2 @RW4+d8
A, RL2 @RW4+d8
使用禁止
addr16,
,#8, rel
@PC+d16,
,#8, rel
@RW1+RW7
,#8, rel
@RW2, @RW2+d16
#8, rel
,#8, rel
@RW1, @RW1+d16
#8, rel
,#8, rel
@RW0, @RW0+d16
#8, rel
,#8, rel
R7, @RW7+d8,
#8, rel
#8, rel
R6, @RW6+d8,
#8, rel
#8, rel
R5, @RW5+d8,
#8, rel
#8, rel
R4, @RW4+d8,
#8, rel
#8, rel
R3, @RW3+d8,
#8, rel
#8, rel
R2, @RW2+d8,
#8, rel
#8, rel
R1, @RW1+d8,
#8, rel
#8, rel
ADDL
ADDL A, SUBL
SUBL A,
A, RL2 @RW4+d8
A, RL2 @RW4+d8
CBNE↓
F0
R0, @RW0+d8,
#8, rel
#8, rel
CBNE↓
E0
+4
D0
RW3, @RW3+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL1 @RW3+d8
A, RL1 @RW3+d8
A, RL1 @RW3+d8
A, RL1 @RW3+d8
C0
ADDL
ADDL A, SUBL
SUBL A,
A, RL1 @RW3+d8
A, RL1 @RW3+d8
B0
+3
A0
RW2, @RW2+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL1 @RW2+d8
A, RL1 @RW2+d8
A, RL1 @RW2+d8
A, RL1 @RW2+d8
90
ADDL
ADDL A, SUBL
SUBL A,
A, RL1 @RW2+d8
A, RL1 @RW2+d8
80
+2
70
RW1, @RW1+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL0 @RW1+d8
A, RL0 @RW1+d8
A, RL0 @RW1+d8
A, RL0 @RW1+d8
CWBNE↓
CWBNE↓
60
ADDL
ADDL A, SUBL
SUBL A,
A, RL0 @RW1+d8
A, RL0 @RW1+d8
50
40
+1
30
+0
20
RW0, @RW0+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL0 @RW0+d8
A, RL0 @RW0+d8
A, RL0 @RW0+d8
A, RL0 @RW0+d8
10
ADDL
ADDL A, SUBL
SUBL A,
A, RL0 @RW0+d8
A, RL0 @RW0+d8
00
付録 B 命令
表 B.9-6 ea 系命令 その 1 ( 第 1 バイト =70H)
497
498
+F @@RW3+
JMPP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RW2+ @PC+d16
@RW2+ @PC+d16 A,@RW2+ @PC+d16 @RW2+,A @PC+d16, A @RW2+, #8 @PC+d16, #8 A,@RW2+ @PC+d16
CALLP
CALLP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@addr16 @@RW3+ @addr16 @RW3+
addr16 @RW3+
addr16 A,@RW3+
addr16 @RW3+,A
addr16, A @RW3+, #8
addr16, #8 A,@RW3+
addr16
JMPP
JMPP
CALLP @
+E @@RW2+ @@PC+d16 @@RW2+ @@PC+d16
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 @RW1+,A @RW1+RW7,A @RW1+, #8 @RW1+RW7,#8 A,@RW1+ @RW1+RW7
JMPP @
+D @@RW1+ @RW1+RW7 @@RW1+ @RW1+RW7
JMPP
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 @RW0+,A @RW0+RW7,A @RW0+, #8 @RW0+RW7,#8 A,@RW0+ @RW0+RW7
CALLP @
JMPP
JMPP @
CALLP
CALLP @
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@@RW3 @RW3+d16 @@RW3 @RW3+d16
@RW3 @RW3+d16
@RW3 @RW3+d16 A,@RW3 @RW3+d16 @RW3,A @RW3+d16,A @RW3, #8 @RW3+d16,#8
A,@RW3 @RW3+d16
+B
CALLP
JMPP
JMPP @
CALLP
CALLP @
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@@RW2 @RW2+d16 @@RW2 @RW2+d16
@RW2 @RW2+d16
@RW2 @RW2+d16 A,@RW2 @RW2+d16 @RW2,A @RW2+d16,A @RW2, #8 @RW2+d16,#8
A,@RW2 @RW2+d16
+A
JMPP @
JMPP
JMPP @
CALLP
CALLP @
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@@RW1 @RW1+d16 @@RW1 @RW1+d16
@RW1 @RW1+d16
@RW1 @RW1+d16 A,@RW1 @RW1+d16 @RW1,A @RW1+d16,A @RW1, #8 @RW1+d16,#8
A,@RW1 @RW1+d16
+9
JMPP
JMPP
JMPP @
CALLP
CALLP @
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@@RW0 @RW0+d16 @@RW0 @RW0+d16
@RW0 @RW0+d16
@RW0 @RW0+d16 A,@RW0 @RW0+d16 @RW0,A @RW0+d16,A @RW0, #8 @RW0+d16,#8
A,@RW0 @RW0+d16
+8
+C @@RW0+ @RW0+RW7 @@RW0+ @RW0+RW7
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL3 @@RW7+d8
@RL3 @@RW7+d8
RL3 @RW7+d8
RL3 @RW7+d8
A, RL3 @RW7+d8
RL3, A @RW7+d8,A
R7, #8 @RW7+d8,#8
A, RW7 @RW7+d8
F0
+7
E0
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL3 @@RW6+d8
@RL3 @@RW6+d8
RL3 @RW6+d8
RL3 @RW6+d8
A, RL3 @RW6+d8
RL3, A @RW6+d8,A
R6, #8 @RW6+d8,#8
A, RW6 @RW6+d8
D0
+6
C0
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL2 @@RW5+d8
@RL2 @@RW5+d8
RL2 @RW5+d8
RL2 @RW5+d8
A, RL2 @RW5+d8
RL2, A @RW5+d8,A
R5, #8 @RW5+d8,#8
A, RW5 @RW5+d8
B0
+5
A0
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL2 @@RW4+d8
@RL2 @@RW4+d8
RL2 @RW4+d8
RL2 @RW4+d8
A, RL2 @RW4+d8
RL2, A @RW4+d8,A
R4, #8 @RW4+d8,#8
A, RW4 @RW4+d8
90
+4
80
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL1 @@RW3+d8
@RL1 @@RW3+d8
RL1 @RW3+d8
RL1 @RW3+d8
A, RL1 @RW3+d8
RL1, A @RW3+d8,A
R3, #8 @RW3+d8,#8
A, RW3 @RW3+d8
70
+3
60
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL1 @@RW2+d8
@RL1 @@RW2+d8
RL1 @RW2+d8
RL1 @RW2+d8
A, RL1 @RW2+d8
RL1, A @RW2+d8,A
R2, #8 @RW2+d8,#8
A, RW2 @RW2+d8
50
+2
40
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL0 @@RW1+d8
@RL0 @@RW1+d8
RL0 @RW1+d8
RL0 @RW1+d8
A, RL0 @RW1+d8
RL0, A @RW1+d8,A
R1, #8 @RW1+d8,#8
A, RW1 @RW1+d8
30
+1
20
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL0 @@RW0+d8
@RL0 @@RW0+d8
RL0 @RW0+d8
RL0 @RW0+d8
A, RL0 @RW0+d8
RL0, A @RW0+d8,A
R0, #8 @RW0+d8,#8
A, RW0 @RW0+d8
10
+0
00
付録
表 B.9-7 ea 系命令 その 2 ( 第 1 バイト =71H)
D0
E0
F0
MOVX
MOVX A,
XCH
XCH A,
A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
MOVX
MOVX A,
XCH
XCH A,
A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV A,
MOV
MOV
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 @RW0+, A @RW0+RW7,A
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV A,
MOV
MOV
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 @RW1+, A @RW1+RW7,A
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16 A,@RW2+ @PC+d16 @RW2+, A @PC+d16, A A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16 A,@RW3+
addr16 @RW3+, A
addr16, A A,@RW3+
addr16 A,@RW3+
addr16
+D
+E
+F
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R7 @RW7+d8
A, R7 @RW7+d8
R7, A @RW7+d8,A
A, R7 @RW7+d8
A, R7 @RW7+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R6 @RW6+d8
A, R6 @RW6+d8
R6, A @RW6+d8,A
A, R6 @RW6+d8
A, R6 @RW6+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R5 @RW5+d8
A, R5 @RW5+d8
R5, A @RW5+d8,A
A, R5 @RW5+d8
A, R5 @RW5+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R4 @RW4+d8
A, R4 @RW4+d8
R4, A @RW4+d8,A
A, R4 @RW4+d8
A, R4 @RW4+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R3 @RW3+d8
A, R3 @RW3+d8
R3, A @RW3+d8,A
A, R3 @RW3+d8
A, R3 @RW3+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R2 @RW2+d8
A, R2 @RW2+d8
R2, A @RW2+d8,A
A, R2 @RW2+d8
A, R2 @RW2+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R1 @RW1+d8
A, R1 @RW1+d8
R1, A @RW1+d8,A
A, R1 @RW1+d8
A, R1 @RW1+d8
+C
INC
DEC
R7 @RW7+d8
C0
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW3 @RW3+d16
@RW3 @RW3+d16
@RW3 @RW3+d16
@RW3 @RW3+d16 A,@RW3 @RW3+d16 @RW3, A @RW3+d16,A
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
ROLC
RORC
RORC
INC
R7 @RW7+d8
R7 @RW7+d8
ROLC
INC
DEC
R6 @RW6+d8
B0
+B
ROLC
RORC
RORC
INC
R6 @RW6+d8
R6 @RW6+d8
ROLC
INC
DEC
R5 @RW5+d8
A0
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW2 @RW2+d16
@RW2 @RW2+d16
@RW2 @RW2+d16
@RW2 @RW2+d16 A,@RW2 @RW2+d16 @RW2, A @RW2+d16,A
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
ROLC
RORC
RORC
INC
R5 @RW5+d8
R5 @RW5+d8
ROLC
INC
DEC
R4 @RW4+d8
90
+A
ROLC
RORC
RORC
INC
R4 @RW4+d8
R4 @RW4+d8
ROLC
INC
DEC
R3 @RW3+d8
INC
DEC
R2 @RW2+d8
INC
DEC
R1 @RW1+d8
80
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R0 @RW0+d8
A, R0 @RW0+d8
R0, A @RW0+d8,A
A, R0 @RW0+d8
A, R0 @RW0+d8
70
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW1 @RW1+d16
@RW1 @RW1+d16
@RW1 @RW1+d16
@RW1 @RW1+d16 A,@RW1 @RW1+d16 @RW1, A @RW1+d16,A
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
ROLC
RORC
RORC
INC
R3 @RW3+d8
R3 @RW3+d8
ROLC
60
INC
DEC
R0 @RW0+d8
50
+9
ROLC
RORC
RORC
INC
R2 @RW2+d8
R2 @RW2+d8
ROLC
40
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW0 @RW0+d16
@RW0 @RW0+d16
@RW0 @RW0+d16
@RW0 @RW0+d16 A,@RW0 @RW0+d16 @RW0, A @RW0+d16,A
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
ROLC
RORC
RORC
INC
R1 @RW1+d8
R1 @RW1+d8
ROLC
30
ROLC
RORC
RORC
INC
R0 @RW0+d8
R0 @RW0+d8
20
ROLC
10
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
付録 B 命令
表 B.9-8 ea 系命令 その 3 ( 第 1 バイト =72H)
499
500
+F @@RW3+
JMP
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW2+ @@PC+d16
@RW2+ @PC+d16 A,@RW2+ @PC+d16 @RW2+, A @PC+d16, A @RW2+, #16 @PC+d16, #16 A,@RW2+ @PC+d16
CALL
CALL
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@addr16 @@RW3+ @addr16 @RW3+
addr16 @RW3+
addr16 A,@RW3+
addr16 @RW3+, A
addr16, A @RW3+, #16
addr16, #16 A,@RW3+
addr16
JMP
JMP
XCHW
XCHW A,
A,@RW1+ @RW1+RW7
+E @@RW2+ @@PC+d16 @@RW2+ @@PC+d16
CALL @
MOVW
MOVW
@RW1+, #16 @RW1+RW7,#16
CALL
INCW
INCW @
DECW
DECW
MOVW
MOVW A,
MOVW
MOVW
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 @RW1+, A @RW1+RW7,A
JMP @
JMP
+D @@RW1+ @RW1+RW7 @@RW1+ @RW1+RW7
XCHW
XCHW A,
A,@RW0+ @RW0+RW7
MOVW
MOVW
@RW0+, #16 @RW0+RW7,#16
INCW
INCW @
DECW
DECW
MOVW
MOVW A,
MOVW
MOVW
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 @RW0+, A @RW0+RW7,A
CALL @
JMP
JMP @
CALL
CALL @
INCW
INCW @ DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@@RW3 @RW3+d16 @@RW3 @RW3+d16
@RW3 @RW3+d16
@RW3 @RW3+d16 A,@RW3 @RW3+d16 @RW3, A @RW3+d16,A @RW3, #16 @RW3+d16,#16
A,@RW3 @RW3+d16
+B
CALL
JMP
JMP @
CALL
CALL @
INCW
INCW @ DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@@RW2 @RW2+d16 @@RW2 @RW2+d16
@RW2 @RW2+d16
@RW2 @RW2+d16 A,@RW2 @RW2+d16 @RW2, A @RW2+d16,A @RW2, #16 @RW2+d16,#16
A,@RW2 @RW2+d16
+A
JMP @
JMP
JMP @
CALL
CALL @
INCW
INCW @ DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@@RW1 @RW1+d16 @@RW1 @RW1+d16
@RW1 @RW1+d16
@RW1 @RW1+d16 A,@RW1 @RW1+d16 @RW1, A @RW1+d16,A @RW1, #16 @RW1+d16,#16
A,@RW1 @RW1+d16
+9
JMP
JMP
JMP @
CALL
CALL @
INCW
INCW @ DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@@RW0 @RW0+d16 @@RW0 @RW0+d16
@RW0 @RW0+d16
@RW0 @RW0+d16 A,@RW0 @RW0+d16 @RW0,A @RW0+d16,A @RW0, #16 @RW0+d16,#16
A,@RW0 @RW0+d16
+8
+C @@RW0+ @RW0+RW7 @@RW0+ @RW0+RW7
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW7 @@RW7+d8
RW7 @@RW7+d8
RW7 @RW7+d8
RW7 @RW7+d8
A, RW7 @RW7+d8
RW7, A @RW7+d8,A
RW7, #16 @RW7+d8,#16
A, RW7 @RW7+d8
F0
+7
E0
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW6 @@RW6+d8
RW6 @@RW6+d8
RW6 @RW6+d8
RW6 @RW6+d8
A, RW6 @RW6+d8
RW6, A @RW6+d8,A
RW6, #16 @RW6+d8,#16
A, RW6 @RW6+d8
D0
+6
C0
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW5 @@RW5+d8
RW5 @@RW5+d8
RW5 @RW5+d8
RW5 @RW5+d8
A, RW5 @RW5+d8
RW5, A @RW5+d8,A
RW5, #16 @RW5+d8,#16
A, RW5 @RW5+d8
B0
+5
A0
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW4 @@RW4+d8
RW4 @@RW4+d8
RW4 @RW4+d8
RW4 @RW4+d8
A, RW4 @RW4+d8
RW4, A @RW4+d8,A
RW4, #16 @RW4+d8,#16
A, RW4 @RW4+d8
90
+4
80
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW3 @@RW3+d8
RW3 @@RW3+d8
RW3 @RW3+d8
RW3 @RW3+d8
A, RW3 @RW3+d8
RW3, A @RW3+d8,A
RW3, #16 @RW3+d8,#16
A, RW3 @RW3+d8
70
+3
60
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW2 @@RW2+d8
RW2 @@RW2+d8
RW2 @RW2+d8
RW2 @RW2+d8
A, RW2 @RW2+d8
RW2, A @RW2+d8,A
RW2, #16 @RW2+d8,#16
A, RW2 @RW2+d8
50
+2
40
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW1 @@RW1+d8
RW1 @@RW1+d8
RW1 @RW1+d8
RW1 @RW1+d8
A, RW1 @RW1+d8
RW1, A @RW1+d8,A
RW1, #16 @RW1+d8,#16
A, RW1 @RW1+d8
30
+1
20
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW0 @@RW0+d8
RW0 @@RW0+d8
RW0 @RW0+d8
RW0 @RW0+d8
A, RW0 @RW0+d8
RW0, A @RW0+d8,A
RW0, #16 @RW0+d8,#16
A, RW0 @RW0+d8
10
+0
00
付録
表 B.9-9 ea 系命令 その 4 ( 第 1 バイト =73H)
ADD
ADD
A, ADDC
ADDC
A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW0+ @RW0+RW7 @RW0+, r W0+RW7, r
SUB
A, ADDC
ADDC
A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW1+ @RW1+RW7 @RW1+, r W1+RW7, r
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16,
A,@RW2+ @PC+d16 @RW2+, r PC+d16, r
ADD
ADD
SUB
SUB
ADDC
ADDC
CMP
CMP
AND
AND
OR
OR
XOR
XOR
DBNZ
DBNZ
A,@RW3+ A, addr16 A,@RW3+ A, addr16 A,@RW3+ A, addr16 A,@RW3+ A, addr16 A,@RW3+ A, addr16 A,@RW3+
A, addr16 A,@RW3+ A, addr16 @RW3+, r
addr16, r
+E
+F
+D A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
A, SUB
+C A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
SUB
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
A,@RW3 @RW3+d16 @RW3, r W3+d16, r
+B
A, SUB
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
A,@RW2 @RW2+d16 @RW2, r W2+d16, r
+A
ADD
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
A,@RW1 @RW1+d16 @RW1, r W1+d16, r
+9
ADD
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
A,@RW0 @RW0+d16 @RW0, r W0+d16, r
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
R7, r RW7+d8, r
ADD
F0
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
R6, r RW6+d8, r
E0
ADD
D0
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
R5, r RW5+d8, r
C0
ADD
B0
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
R4, r RW4+d8, r
A0
ADD
90
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
R3, r RW3+d8, r
80
ADD
70
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
R2, r RW2+d8, r
60
ADD
50
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
R1, r RW1+d8, r
40
ADD
30
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
R0, r RW0+d8, r
20
ADD
10
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
付録 B 命令
表 B.9-10 ea 系命令 その 5 ( 第 1 バイト =74H)
501
502
NOT
NOT
@RW1+ @RW1+RW7
ADD
ADD @R
SUB
SUB
SUBC
SUBC A,
NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A A,@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 @RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A
SUB
SUB
@RW2+, A @PC+d16,A
SUB
SUB
@RW3+, A addr16, A
ADD
ADD
@RW2+, A @PC+d16,A
ADD
ADD
@RW3+, A addr16, A
+D
+E
+F
SUBC
SUBC A, NEG
NEG A,
AND
AND
A,@RW3+
addr16 @RW3+
addr16 @RW3+, A addr16, A
OR
OR
@RW3+, A addr16, A
XOR
XOR
@RW3+, A addr16, A
NOT
NOT
@RW3+
addr16
OR
OR
XOR
XOR
NOT
NOT
@RW2+, A @PC+d16,A @RW2+, A @PC+d16,A
@RW2+ @PC+d16
NOT
NOT
@RW0+ @RW0+RW7
ADD
ADD @R
SUB
SUB
SUBC
SUBC A,
NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A A,@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 @RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A
+C
SUBC
SUBC A, NEG
NEG A,
AND
AND
A,@RW2+ @PC+d16
@RW2+ @PC+d16 @RW2+, A @PC+d16,A
NOT
NOT
@RW3 @RW3+d16
ADD
ADD @R
SUB
SUB
SUBC
SUBC A, NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW3, A @RW3+d16,A @RW3, A @RW3+d16,A A, @RW3 @RW3+d16
@RW3 @RW3+d16 @RW3, A @RW3+d16,A @RW3, A @RW3+d16,A @RW3, A @RW3+d16,A
NOT
R7 @RW7+d8
NOT
R6 @RW6+d8
NOT
R5 @RW5+d8
NOT
R4 @RW4+d8
+B
XOR
NOT
R7, A @RW7+d8, A
XOR
NOT
R6, A @RW6+d8, A
XOR
NOT
R5, A @RW5+d8, A
XOR
NOT
R4, A @RW4+d8, A
NOT
R3 @RW3+d8
NOT
R2 @RW2+d8
NOT
R1 @RW1+d8
NOT
NOT
@RW2 @RW2+d16
XOR
NOT
XOR
NOT
R3, A @RW3+d8, A
XOR
R2, A @RW2+d8,A
XOR
NOT
R1, A @RW1+d8, A
NOT
R0 @RW0+d8
F0
ADD
ADD @R
SUB
SUB
SUBC
SUBC A, NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW2, A @RW2+d16,A @RW2, A @RW2+d16,A A, @RW2 @RW2+d16
@RW2 @RW2+d16 @RW2, A @RW2+d16,A @RW2, A @RW2+d16,A @RW2, A @RW2+d16,A
NEG A,
AND
AND
OR
OR
R7 @RW7+d8
R7, A @RW7+d8, A
R7, A @RW7+d8, A
XOR
XOR
XOR
XOR
XOR
XOR
E0
XOR
NOT
R0, A @RW0+d8, A
D0
+A
ADD
SUB
SUB
SUBC
SUBC A, NEG
R7, A @RW7+d8, A
R7, A @RW7+d8, A
A, R7 @RW7+d8
ADD
NEG A,
AND
AND
OR
OR
R6 @RW6+d8
R6, A @RW6+d8, A
R6, A @RW6+d8, A
NEG A,
AND
AND
OR
OR
R5 @RW5+d8
R5, A @RW5+d8, A
R5, A @RW5+d8, A
NEG A,
AND
AND
OR
OR
R4 @RW4+d8
R4, A @RW4+d8, A
R4, A @RW4+d8, A
NEG A,
AND
AND
OR
OR
R3 @RW3+d8
R3, A @RW3+d8, A
R3, A @RW3+d8, A
NEG A,
AND
AND
OR
OR
R2 @RW2+d8
R2, A @RW2+d8,A
R2, A @RW2+d8,A
NEG A,
AND
AND
OR
OR
R1 @RW1+d8
R1, A @RW1+d8, A
R1, A @RW1+d8, A
XOR
C0
NOT
NOT
@RW1 @RW1+d16
ADD
SUB
SUB
SUBC
SUBC A, NEG
R6, A @RW6+d8, A
R6, A @RW6+d8, A
A, R6 @RW6+d8
ADD
B0
ADD
ADD @R
SUB
SUB
SUBC
SUBC A, NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW1, A @RW1+d16,A @RW1, A @RW1+d16,A A, @RW1 @RW1+d16
@RW1 @RW1+d16 @RW1, A @RW1+d16,A @RW1, A @RW1+d16,A @RW1, A @RW1+d16,A
ADD
SUB
SUB
SUBC
SUBC A, NEG
R5, A @RW5+d8, A
R5, A @RW5+d8, A
A, R5 @RW5+d8
ADD
A0
+9
ADD
SUB
SUB
SUBC
SUBC A, NEG
R4, A @RW4+d8, A
R4, A @RW4+d8, A
A, R4 @RW4+d8
ADD
90
NOT
NOT
@RW0 @RW0+d16
ADD
SUB
SUB
SUBC
SUBC A, NEG
R3, A @RW3+d8, A
R3, A @RW3+d8, A
A, R3 @RW3+d8
ADD
80
NEG A,
AND
AND
OR
OR
R0 @RW0+d8
R0, A @RW0+d8, A
R0, A @RW0+d8, A
70
ADD
ADD
SUB
SUB
SUBC
SUBC A, NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW0, A @RW0+d16,A @RW0, A @RW0+d16,A A, @RW0 @RW0+d16
@RW0 @RW0+d16 @RW0, A @RW0+d16,A @RW0, A @RW0+d16,A @RW0, A @RW0+d16,A
ADD
SUB
SUB
SUBC
SUBC A, NEG
R2, A @RW2+d8,A
R2, A @RW2+d8,A
A, R2 @RW2+d8
60
ADD
50
ADD
SUB
SUB
SUBC
SUBC A, NEG
R1, A @RW1+d8, A
R1, A @RW1+d8, A
A, R1 @RW1+d8
40
ADD
30
ADD
SUB
SUB
SUBC
SUBC A, NEG
R0, A @RW0+d8, A
R0, A @RW0+d8, A
A, R0 @RW0+d8
20
ADD
10
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
付録
表 B.9-11 ea 系命令 その 6 ( 第 1 バイト =75H)
ADDW A, SUBW
ADDW
ADDCW
+F
CMPW
CMPW A,
ANDW
ANDW A,
ANDW A,
ORW
ORW
ORW
ORW
A,
A,
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16, A,@RW2+ @PC+d16 @RW2+, r @PC+d16,r
ADDCW A,
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A,@RW3+
addr 16 A,@RW3+ addr 16
A,@RW3+
addr 16 A,@RW3+
addr 16 A,@RW3+
addr 16 A,@RW3+
addr16 A,@RW3+
addr 16 @RW3+, r
addr16, r
+E A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
SUBW A, ADDCW
SUBW A,
ANDW
XORW
XORW A,
DWBNZ
DWBNZ
A,@RW1+ @RW1+RW7 @RW1+, r @RW1+RW7,r
SUBW
ADDW A,
ADDW
CMPW A,
+D A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
CMPW
XORW
XORW A,
DWBNZ
DWBNZ
A,@RW0+ @RW0+RW7 @RW0+, r @RW0+RW7,r
ADDCW A,
+C A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
ADDCW
XORW
XORW A, DWBNZ
DWBNZ
A,@RW3 @RW3+d16 @RW3, r @RW3+d16,r
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A,
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
+B
SUBW A,
XORW
XORW A, DWBNZ
DWBNZ
A,@RW2 @RW2+d16 @RW2, r @RW2+d16,r
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A,
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
+A
SUBW
XORW
XORW A, DWBNZ
DWBNZ
A,@RW1 @RW1+d16 @RW1, r @RW1+d16,r
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A,
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
+9
ADDW A,
XORW
XORW A, DWBNZ
DWBNZ
A,@RW0 @RW0+d16 @RW0, r @RW0+d16,r
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A,
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
+8
ADDW
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
RW7, r @RW7+d8,r
F0
+7
E0
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
RW6, r @RW6+d8,r
D0
+6
C0
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
RW5, r @RW5+d8,r
B0
+5
A0
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
RW4, r @RW4+d8,r
90
+4
80
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
RW3, r @RW3+d8,r
70
+3
60
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
RW2, r @RW2+d8,r
50
+2
40
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
RW1, r @RW1+d8,r
30
+1
20
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
RW0, r @RW0+d8,r
10
+0
00
付録 B 命令
表 B.9-12 ea 系命令 その 7 ( 第 1 バイト =76H)
503
504
ORW
ORW
XORW
XORW
NOTW
NOTW
RW6, A @RW6+d8, A
RW6, A @RW6+d8, A
RW6 @RW6+d8
ORW
ORW
XORW
XORW
NOTW
NOTW
RW7, A @RW7+d8, A
RW7, A @RW7+d8, A
RW7 @RW7+d8
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW6, A @RW6+d8, A
RW6, A @RW6+d8, A
A, RW6 @RW6+d8
RW6 @RW6+d8
RW6, A @RW6+d8, A
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW7, A @RW7+d8, A
RW7, A @RW7+d8, A
A, RW7 @RW7+d8
RW7 @RW7+d8
RW7, A @RW7+d8, A
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW0, A @RW0+d16,A @RW0, A @RW0+d16,A A, @RW0 @RW0+d16
@RW0 @RW0+d16 @RW0, A @RW0+d16,A @RW0, A @RW0+d16,A @RW0, A @RW0+d16,A
@RW0 @RW0+d16
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW1, A @RW1+d16,A @RW1, A @RW1+d16,A A, @RW1 @RW1+d16
@RW1 @RW1+d16 @RW1, A @RW1+d16,A @RW1, A @RW1+d16,A @RW1, A @RW1+d16,A
@RW1 @RW1+d16
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW2, A @RW2+d16,A @RW2, A @RW2+d16,A A, @RW2 @RW2+d16
@RW2 @RW2+d16 @RW2, A @RW2+d16,A @RW2, A @RW2+d16,A @RW2, A @RW2+d16,A
@RW2 @RW2+d16
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW3, A @RW3+d16,A @RW3, A @RW3+d16,A A, @RW3 @RW3+d16
@RW3 @RW3+d16 @RW3, A @RW3+d16,A @RW3, A @RW3+d16,A @RW3, A @RW3+d16,A
@RW3 @RW3+d16
ADDW
ADDW
SUBW
SUBW
SUBCW
SUBCW A,
NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A A,@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 @RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A
@RW0+ @RW0+RW7
ADDW
ADDW
SUBW
SUBW
SUBCW
SUBCW A,
NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A A,@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 @RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A
@RW1+ @RW1+RW7
SUBW
SUBW
@RW2+, A @PC+d16,A
SUBW
SUBW
@RW3+, A addr16, A
ADDW
ADDW
@RW2+, A @PC+d16,A
ADDW
ADDW
@RW3+, A addr16, A
+6
+7
+8
+9
+A
+B
+C
+D
+E
+F
SUBCW
SUBCW A, NEGW
NEGW
ANDW
ANDW
A,@RW3+
addr16 @RW3+
addr16 @RW3+, A addr16, A
ORW
ORW
@RW3+, A addr16, A
XORW
XORW
@RW3+, A addr16, A
NOTW
NOTW
@RW3+
addr16
SUBCW
SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
A,@RW2+ @PC+d16
@RW2+ @PC+d16 @RW2+, A @PC+d16,A @RW2+, A @PC+d16,A @RW2+, A @PC+d16,A
@RW2+ @PC+d16
ORW
ORW
XORW
XORW
NOTW
NOTW
RW5, A @RW5+d8, A
RW5, A @RW5+d8, A
RW5 @RW5+d8
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW5, A @RW5+d8, A
RW5, A @RW5+d8, A
A, RW5 @RW5+d8
RW5 @RW5+d8
RW5, A @RW5+d8, A
+5
F0
ORW
ORW
XORW
XORW
NOTW
NOTW
RW4, A @RW4+d8, A
RW4, A @RW4+d8, A
RW4 @RW4+d8
E0
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW4, A @RW4+d8, A
RW4, A @RW4+d8, A
A, RW4 @RW4+d8
RW4 @RW4+d8
RW4, A @RW4+d8, A
D0
+4
C0
ORW
ORW
XORW
XORW
NOTW
NOTW
RW3, A @RW3+d8, A
RW3, A @RW3+d8, A
RW3 @RW3+d8
B0
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW3, A @RW3+d8, A
RW3, A @RW3+d8, A
A, RW3 @RW3+d8
RW3 @RW3+d8
RW3, A @RW3+d8, A
A0
+3
90
ORW
ORW
XORW
XORW
NOTW
NOTW
RW2, A @RW2+d8, A
RW2, A @RW2+d8, A
RW2 @RW2+d8
80
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW2, A @RW2+d8, A
RW2, A @RW2+d8, A
A, RW2 @RW2+d8
RW2 @RW2+d8
RW2, A @RW2+d8, A
70
+2
60
ORW
ORW
XORW
XORW
NOTW
NOTW
RW1, A @RW1+d8, A
RW1, A @RW1+d8, A
RW1 @RW1+d8
50
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW1, A @RW1+d8, A
RW1, A @RW1+d8, A
A, RW1 @RW1+d8
RW1 @RW1+d8
RW1, A @RW1+d8, A
40
+1
30
ORW
ORW
XORW
XORW
NOTW
NOTW
RW0, A @RW0+d8, A
RW0, A @RW0+d8, A
RW0 @RW0+d8
20
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW0, A @RW0+d8, A
RW0, A @RW0+d8, A
A, RW0 @RW0+d8
RW0 @RW0+d8
RW0, A @RW0+d8, A
10
+0
00
付録
表 B.9-13 ea 系命令 その 8 ( 第 1 バイト =77H)
A,
MULU
+F
DIV
DIV
A, DIVW
DIVW A,
A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
DIV
DIV
A, DIVW
DIVW A,
A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
DIV
DIV
A, DIVW
DIVW A,
A,@RW3 @RW3+d16
A,@RW3 @RW3+d16
DIV
DIV
A, DIVW
DIVW A,
A,@RW2 @RW2+d16
A,@RW2 @RW2+d16
DIV
DIV
A, DIVW
DIVW A,
A,@RW1 @RW1+d16
A,@RW1 @RW1+d16
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, @RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
A, DIVW
DIVW A,
addr16 A,@RW3+
addr16
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
A,@RW2+ @PC+d16
MULUW
MULUW A, MUL
MUL A,
MULW
MULW A,
DIVU
DIVU A,
DIVUW
DIVUW A,
A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
A, MULUW
@RW1+RW7
MULU
@RW0+RW7
+E A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
MULU
+D A,@RW1+
MULU
+C A,@RW0+
MULUW
MULUW A, MUL
MUL A,
MULW
MULW A,
DIVU
DIVU A,
DIVUW
DIVUW A,
A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A,
A, @RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW3 @RW3+d16
A,@RW3 @RW3+d16
+B
A,
MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A,
A, @RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW2 @RW2+d16
A,@RW2 @RW2+d16
+A
MULU
MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A,
A, @RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW1 @RW1+d16
A,@RW1 @RW1+d16
+9
MULU
MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A,
A, @RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW0 @RW0+d16
A,@RW0 @RW0+d16
+8
DIV
DIV
A, DIVW
DIVW A,
A,@RW0 @RW0+d16
A,@RW0 @RW0+d16
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R7 @RW7+d8
A, RW7 @RW7+d8
A, R7 @RW7+d8
A, RW7 @RW7+d8
A, R7 @RW7+d8
A, RW7 @RW7+d8
A, R7 @RW7+d8
A, RW7 @RW7+d8
F0
+7
E0
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R6 @RW6+d8
A, RW6 @RW6+d8
A, R6 @RW6+d8
A, RW6 @RW6+d8
A, R6 @RW6+d8
A, RW6 @RW6+d8
A, R6 @RW6+d8
A, RW6 @RW6+d8
D0
+6
C0
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R5 @RW5+d8
A, RW5 @RW5+d8
A, R5 @RW5+d8
A, RW5 @RW5+d8
A, R5 @RW5+d8
A, RW5 @RW5+d8
A, R5 @RW5+d8
A, RW5 @RW5+d8
B0
+5
A0
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R4 @RW4+d8
A, RW4 @RW4+d8
A, R4 @RW4+d8
A, RW4 @RW4+d8
A, R4 @RW4+d8
A, RW4 @RW4+d8
A, R4 @RW4+d8
A, RW4 @RW4+d8
90
+4
80
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R3 @RW3+d8
A, RW3 @RW3+d8
A, R3 @RW3+d8
A, RW3 @RW3+d8
A, R3 @RW3+d8
A, RW3 @RW3+d8
A, R3 @RW3+d8
A, RW3 @RW3+d8
70
+3
60
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R2 @RW2+d8
A, RW2 @RW2+d8
A, R2 @RW2+d8
A, RW2 @RW2+d8
A, R2 @RW2+d8
A, RW2 @RW2+d8
A, R2 @RW2+d8
A, RW2 @RW2+d8
50
+2
40
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R1 @RW1+d8
A, RW1 @RW1+d8
A, R1 @RW1+d8
A, RW1 @RW1+d8
A, R1 @RW1+d8
A, RW1 @RW1+d8
A, R1 @RW1+d8
A, RW1 @RW1+d8
30
+1
20
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R0 @RW0+d8
A, RW0 @RW0+d8
A, R0 @RW0+d8
A, RW0 @RW0+d8
A, R0 @RW0+d8
A, RW0 @RW0+d8
A, R0 @RW0+d8
A, RW0 @RW0+d8
10
+0
00
付録 B 命令
表 B.9-14 ea 系命令 その 9 ( 第 1 バイト =78H)
505
506
MOVEA
MOVEA RW1
RW1,RW2 ,@RW2+d8
MOVEA
MOVEA RW1
RW1,RW3 ,@RW3+d8
MOVEA
MOVEA RW1
RW1,RW4 ,@RW4+d8
MOVEA
MOVEA RW1
RW1,RW5 ,@RW5+d8
MOVEA
MOVEA RW1
RW1,RW6 ,@RW6+d8
MOVEA
MOVEA RW1
RW1,RW7 ,@RW7+d8
MOVEA
MOVEA RW1
RW1,@RW0 ,@RW0+d16
MOVEA
MOVEA RW1
RW1,@RW1 ,@RW1+d16
MOVEA
MOVEA RW1
RW1,@RW2 ,@RW2+d16
MOVEA
MOVEA RW1
RW1,@RW3 ,@RW3+d16
MOVEA
MOVEA RW0
RW0,RW2 ,@RW2+d8
MOVEA
MOVEA RW0
RW0,RW3 ,@RW3+d8
MOVEA
MOVEA RW0
RW0,RW4 ,@RW4+d8
MOVEA
MOVEA RW0
RW0,RW5 ,@RW5+d8
MOVEA
MOVEA RW0
RW0,RW6 ,@RW6+d8
MOVEA
MOVEA RW0
RW0,RW7 ,@RW7+d8
MOVEA
MOVEA RW0
RW0,@RW0 ,@RW0+d16
MOVEA
MOVEA RW0
RW0,@RW1 ,@RW1+d16
MOVEA RW0
MOVEA RW0
MOVEA
MOVEA
+2
+3
+4
+5
+6
+7
+8
+9
50
70
90
B0
C0
D0
E0
F0
MOVEA
MOVEA RW4
RW4,@RW2+ ,@PC+d16
MOVEA
MOVEA
RW6,@RW3+ RW6, addr16
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
RW0,@RW3+ RW0, addr16 RW1,@RW3+ RW1, addr16 RW2,@RW3+ RW2, addr16 RW3,@RW3+ RW3, addr16 RW4,@RW3+ RW4, addr16 RW5,@RW3+ RW5, addr16
MOVEA
MOVEA RW3
RW3,@RW2+ ,@PC+d16
+F
MOVEA
MOVEA RW2
RW2,@RW2+ ,@PC+d16
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,@RW2+ ,@PC+d16
RW6,@RW2+ ,@PC+d16
RW7,@RW2+ ,@PC+d16
MOVEA
MOVEA RW1
RW1,@RW2+ ,@PC+d16
MOVEA
MOVEA RW0
RW0,@RW2+ ,@PC+d16
+E
MOVEA
MOVEA
[email protected]+ RW7, addr16
MOVEA
MOVEA RW7
RW7,@RW1+ ,@RW1+RW7
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6
RW5,@RW1+ ,@RW1+RW7 RW6,@RW1+ ,@RW1+RW7
MOVEA
MOVEA RW0 MOVEA
MOVEA RW1 MOVEA
MOVEA RW2 MOVEA
MOVEA RW3 MOVEA
MOVEA RW4
RW0,@RW1+ ,@RW1+RW7 RW1,@RW1+ ,@RW1+RW7 RW2,@RW1+ ,@RW1+RW7 RW3,@RW1+ ,@RW1+RW7 RW4,@RW1+ ,@RW1+RW7
MOVEA
MOVEA RW7
RW7,@RW0+ ,@RW0+RW7
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,@RW3 ,@RW3+d16 RW6,@RW3 ,@RW3+d16 RW7,@RW3 ,@RW3+d16
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,@RW2 ,@RW2+d16 RW6,@RW2 ,@RW2+d16 RW7,@RW2 ,@RW2+d16
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,@RW1 ,@RW1+d16 RW6,@RW1 ,@RW1+d16 RW7,@RW1 ,@RW1+d16
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,@RW0 ,@RW0+d16 RW6,@RW0 ,@RW0+d16 RW7,@RW0 ,@RW0+d16
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW7 ,@RW7+d8
RW6,RW7 ,@RW7+d8
RW7,RW7 ,@RW7+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW6 ,@RW6+d8
RW6,RW6 ,@RW6+d8
RW7,RW6 ,@RW6+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW5 ,@RW5+d8
RW6,RW5 ,@RW5+d8
RW7,RW5 ,@RW5+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW4 ,@RW4+d8
RW6,RW4 ,@RW4+d8
RW7,RW4 ,@RW4+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW3 ,@RW3+d8
RW6,RW3 ,@RW3+d8
RW7,RW3 ,@RW3+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW2 ,@RW2+d8
RW6,RW2 ,@RW2+d8
RW7,RW2 ,@RW2+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW1 ,@RW1+d8
RW6,RW1 ,@RW1+d8
RW7,RW1 ,@RW1+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW0 ,@RW0+d8
RW6,RW0 ,@RW0+d8
RW7,RW0 ,@RW0+d8
A0
+D
MOVEA
MOVEA RW4
RW4,@RW3 ,@RW3+d16
MOVEA
MOVEA RW4
RW4,@RW2 ,@RW2+d16
MOVEA
MOVEA RW4
RW4,@RW1 ,@RW1+d16
MOVEA
MOVEA RW4
RW4,@RW0 ,@RW0+d16
MOVEA
MOVEA RW4
RW4,RW7 ,@RW7+d8
MOVEA
MOVEA RW4
RW4,RW6 ,@RW6+d8
MOVEA
MOVEA RW4
RW4,RW5 ,@RW5+d8
MOVEA
MOVEA RW4
RW4,RW4 ,@RW4+d8
MOVEA
MOVEA RW4
RW4,RW3 ,@RW3+d8
MOVEA
MOVEA RW4
RW4,RW2 ,@RW2+d8
MOVEA
MOVEA RW4
RW4,RW1 ,@RW1+d8
MOVEA
MOVEA RW4
RW4,RW0 ,@RW0+d8
80
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6
RW5,@RW0+ ,@RW0+RW7 RW6,@RW0+ ,@RW0+RW7
MOVEA
MOVEA RW3
RW3,@RW3 ,@RW3+d16
MOVEA
MOVEA RW3
RW3,@RW2 ,@RW2+d16
MOVEA
MOVEA RW3
RW3,@RW1 ,@RW1+d16
MOVEA
MOVEA RW3
RW3,@RW0 ,@RW0+d16
MOVEA
MOVEA RW3
RW3,RW7 ,@RW7+d8
MOVEA
MOVEA RW3
RW3,RW6 ,@RW6+d8
MOVEA
MOVEA RW3
RW3,RW5 ,@RW5+d8
MOVEA
MOVEA RW3
RW3,RW4 ,@RW4+d8
MOVEA
MOVEA RW3
RW3,RW3 ,@RW3+d8
MOVEA
MOVEA RW3
RW3,RW2 ,@RW2+d8
MOVEA
MOVEA RW3
RW3,RW1 ,@RW1+d8
MOVEA
MOVEA RW3
RW3,RW0 ,@RW0+d8
60
MOVEA
MOVEA RW0 MOVEA
MOVEA RW1 MOVEA
MOVEA RW2 MOVEA
MOVEA RW3 MOVEA
MOVEA RW4
RW0,@RW0+ ,@RW0+RW7 RW1,@RW0+ ,@RW0+RW7 RW2,@RW0+ ,@RW0+RW7 RW3,@RW0+ ,@RW0+RW7 RW4,@RW0+ ,@RW0+RW7
MOVEA
MOVEA RW2
RW2,@RW3 ,@RW3+d16
MOVEA
MOVEA RW2
RW2,@RW2 ,@RW2+d16
MOVEA
MOVEA RW2
RW2,@RW1 ,@RW1+d16
MOVEA
MOVEA RW2
RW2,@RW0 ,@RW0+d16
MOVEA
MOVEA RW2
RW2,RW7 ,@RW7+d8
MOVEA
MOVEA RW2
RW2,RW6 ,@RW6+d8
MOVEA
MOVEA RW2
RW2,RW5 ,@RW5+d8
MOVEA
MOVEA RW2
RW2,RW4 ,@RW4+d8
MOVEA
MOVEA RW2
RW2,RW3 ,@RW3+d8
MOVEA
MOVEA RW2
RW2,RW2 ,@RW2+d8
MOVEA
MOVEA RW2
RW2,RW1 ,@RW1+d8
MOVEA
MOVEA RW2
RW2,RW0 ,@RW0+d8
40
+C
+B RW0,@RW3 ,@RW3+d16
+A RW0,@RW2 ,@RW2+d16
MOVEA
MOVEA RW1
RW1,RW1 ,@RW1+d8
MOVEA
MOVEA RW0
RW0,RW1 ,@RW1+d8
+1
30
MOVEA
MOVEA RW1
RW1,RW0 ,@RW0+d8
20
MOVEA
MOVEA RW0
RW0,RW0 ,@RW0+d8
10
+0
00
付録
表 B.9-15 MOVEA RWi, ea 命令 ( 第 1 バイト =79H)
MOV R0,
MOV
MOV R1,
MOV
MOV R2,
MOV
MOV R3,
MOV
MOV R4,
MOV
MOV R5,
MOV
MOV R6,
MOV
MOV R7,
MOV R1,
MOV
MOV R2,
MOV
MOV R3,
MOV
MOV R4,
MOV
MOV R5,
MOV
MOV R6,
MOV
MOV R7,
MOV R0, MOV R0,
MOV R1, MOV R1,
MOV R2, MOV R2,
MOV R3, MOV R3,
MOV R4, MOV R4,
MOV R5, MOV R5,
MOV R6, MOV R6,
MOV R7, MOV R7,
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
MOV R0, MOV R0,
MOV R1, MOV R1,
MOV R2, MOV R2,
MOV R3, MOV R3,
MOV R4, MOV R4,
MOV R5, MOV R5,
MOV R6, MOV R6,
MOV R7, MOV R7,
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
MOV R0, MOV R0, MOV R1, MOV R1, MOV R2, MOV R2, MOV R3, MOV R3, MOV R4, MOV R4, MOV R5, MOV R5, MOV R6, MOV R6, MOV R7, MOV R7,
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
MOV R0, MOV R0, MOV R1, MOV R1, MOV R2, MOV R2, MOV R3, MOV R3, MOV R4, MOV R4, MOV R5, MOV R5, MOV R6, MOV R6, MOV R7, MOV R7,
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
+C
+D
+E
+F
+B R0,@RW3 @RW3+d16 R1,@RW3 @RW3+d16 R2,@RW3 @RW3+d16 R3,@RW3 @RW3+d16 R4,@RW3 @RW3+d16 R5,@RW3 @RW3+d16 R6,@RW3 @RW3+d16 R7,@RW3 @RW3+d16
MOV
+A R0,@RW2 @RW2+d16 R1,@RW2 @RW2+d16 R2,@RW2 @RW2+d16 R3,@RW2 @RW2+d16 R4,@RW2 @RW2+d16 R5,@RW2 @RW2+d16 R6,@RW2 @RW2+d16 R7,@RW2 @RW2+d16
MOV
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0,@RW1 @RW1+d16 R1,@RW1 @RW1+d16 R2,@RW1 @RW1+d16 R3,@RW1 @RW1+d16 R4,@RW1 @RW1+d16 R5,@RW1 @RW1+d16 R6,@RW1 @RW1+d16 R7,@RW1 @RW1+d16
+9
MOV R0,
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0,@RW0 @RW0+d16 R1,@RW0 @RW0+d16 R2,@RW0 @RW0+d16 R3,@RW0 @RW0+d16 R4,@RW0 @RW0+d16 R5,@RW0 @RW0+d16 R6,@RW0 @RW0+d16 R7,@RW0 @RW0+d16
+8
MOV
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R7 @RW7+d8
R1, R7 @RW7+d8
R2, R7 @RW7+d8
R3, R7 @RW7+d8
R4, R7 @RW7+d8
R5, R7 @RW7+d8
R6, R7 @RW7+d8
R7, R7 @RW7+d8
F0
+7
E0
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R6 @RW6+d8
R1, R6 @RW6+d8
R2, R6 @RW6+d8
R3, R6 @RW6+d8
R4, R6 @RW6+d8
R5, R6 @RW6+d8
R6, R6 @RW6+d8
R7, R6 @RW6+d8
D0
+6
C0
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R5 @RW5+d8
R1, R5 @RW5+d8
R2, R5 @RW5+d8
R3, R5 @RW5+d8
R4, R5 @RW5+d8
R5, R5 @RW5+d8
R6, R5 @RW5+d8
R7, R5 @RW5+d8
B0
+5
A0
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R4 @RW4+d8
R1, R4 @RW4+d8
R2, R4 @RW4+d8
R3, R4 @RW4+d8
R4, R4 @RW4+d8
R5, R4 @RW4+d8
R6, R4 @RW4+d8
R7, R4 @RW4+d8
90
+4
80
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R3 @RW3+d8
R1, R3 @RW3+d8
R2, R3 @RW3+d8
R3, R3 @RW3+d8
R4, R3 @RW3+d8
R5, R3 @RW3+d8
R6, R3 @RW3+d8
R7, R3 @RW3+d8
70
+3
60
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R2 @RW2+d8
R1, R2 @RW2+d8
R2, R2 @RW2+d8
R3, R2 @RW2+d8
R4, R2 @RW2+d8
R5, R2 @RW2+d8
R6, R2 @RW2+d8
R7, R2 @RW2+d8
50
+2
40
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R1 @RW1+d8
R1, R1 @RW1+d8
R2, R1 @RW1+d8
R3, R1 @RW1+d8
R4, R1 @RW1+d8
R5, R1 @RW1+d8
R6, R1 @RW1+d8
R7, R1 @RW1+d8
30
+1
20
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R0 @RW0+d8
R1, R0 @RW0+d8
R2, R0 @RW0+d8
R3, R0 @RW0+d8
R4, R0 @RW0+d8
R5, R0 @RW0+d8
R6, R0 @RW0+d8
R7, R0 @RW0+d8
10
+0
00
付録 B 命令
表 B.9-16 MOV Ri, ea 命令 ( 第 1 バイト =7AH)
507
508
MOVW
MOVW RW2,
RW2,@RW0 @RW0+d16
MOVW
MOVW RW2,
RW2,@RW1 @RW1+d16
MOVW
MOVW RW2,
RW2,@RW2 @RW2+d16
MOVW
MOVW RW2,
RW2,@RW3 @RW3+d16
MOVW
MOVW RW1,
RW1, RW6 @RW6+d8
MOVW
MOVW RW1,
RW1, RW7 @RW7+d8
MOVW
MOVW
MOVW
MOVW RW1,
RW0,@RW1 @RW1+d16 RW1,@RW1 @RW1+d16
MOVW
MOVW
MOVW
MOVW RW1,
RW0,@RW2 @RW2+d16 RW1,@RW2 @RW2+d16
MOVW
MOVW
MOVW
MOVW RW1,
RW0,@RW3 @RW3+d16 RW1,@RW3 @RW3+d16
MOVW
MOVW
MOVW
MOVW RW1, MOVW
MOVW RW2, MOVW
MOVW RW3, MOVW
MOVW RW4, MOVW
MOVW RW5, MOVW
MOVW RW6, MOVW
MOVW RW7,
RW0,@RW0+ @RW0+RW7 RW1,@RW0+ @RW0+RW7 RW2,@RW0+ @RW0+RW7 RW3,@RW0+ @RW0+RW7 RW4,@RW0+ @RW0+RW7 RW5,@RW0+ @RW0+RW7 RW6,@RW0+ @RW0+RW7 RW7,@RW0+ @RW0+RW7
MOVW
MOVW
RW1, @RW3+ RW1, addr16
MOVW
MOVW
RW0, RW7 @RW7+d8
MOVW
MOVW
MOVW
MOVW RW1,
RW0,@RW0 @RW0+d16 RW1,@RW0 @RW0+d16
MOVW
MOVW RW1,
RW1, @RW2+ @PC+d16
MOVW
MOVW
RW0, RW6 @RW6+d8
MOVW
RW0, @RW1+
MOVW
MOVW
RW0, @RW2+ @PC+d16
MOVW
MOVW
RW0, @RW3+ RW0, addr16
+6
+7
+8
+9
+A
+B
+C
+D
+E
+F
MOVW
MOVW
@RW1+RW7 RW1, @RW1+
MOVW
MOVW RW2,
RW2, RW7 @RW7+d8
MOVW
MOVW RW1,
RW1, RW5 @RW5+d8
MOVW
MOVW
RW0, RW5 @RW5+d8
+5
MOVW
MOVW
RW2, @RW3+ RW2, addr16
MOVW
MOVW
RW3, @RW3+ RW3, addr16
MOVW
MOVW RW3,
RW3, @RW2+ @PC+d16
MOVW
MOVW
RW4, @RW3+ RW4, addr16
MOVW
MOVW RW4,
RW4, @RW2+ @PC+d16
MOVW
MOVW
RW5, @RW3+ RW5, addr16
MOVW
MOVW
RW5, @RW2+ @PC+d16
MOVW
MOVW
RW6, @RW3+ RW6, addr16
MOVW
MOVW RW6,
RW6, @RW2+ @PC+d16
MOVW
MOVW
RW7, @RW3+ RW7, addr16
MOVW
MOVW RW7,
RW7, @RW2+ @PC+d16
MOVW RW7,
@RW1+RW7
MOVW
MOVW RW7,
RW7,@RW3 @RW3+d16
MOVW
MOVW RW7,
RW7,@RW2 @RW2+d16
MOVW
MOVW RW7,
RW7,@RW1 @RW1+d16
MOVW
MOVW RW7,
RW7,@RW0 @RW0+d16
MOVW
MOVW RW7,
RW7, RW7 @RW7+d8
MOVW
MOVW RW7,
RW7, RW6 @RW6+d8
MOVW
MOVW RW7,
RW7, RW5 @RW5+d8
MOVW
MOVW RW7,
RW7, RW4 @RW4+d8
MOVW
MOVW RW7,
RW7, RW3 @RW3+d8
MOVW RW6, MOVW
@RW1+RW7 RW7, @RW1+
MOVW
MOVW RW6,
RW6,@RW3 @RW3+d16
MOVW
MOVW RW6,
RW6,@RW2 @RW2+d16
MOVW
MOVW RW6,
RW6,@RW1 @RW1+d16
MOVW
MOVW RW6,
RW6,@RW0 @RW0+d16
MOVW
MOVW RW6,
RW6, RW7 @RW7+d8
MOVW
MOVW RW6,
RW6, RW6 @RW6+d8
MOVW
MOVW RW6,
RW6, RW5 @RW5+d8
MOVW
MOVW RW6,
RW6, RW4 @RW4+d8
MOVW
MOVW RW6,
RW6, RW3 @RW3+d8
MOVW
MOVW
@RW1+RW7 RW6, @RW1+
MOVW
MOVW RW5,
RW5,@RW3 @RW3+d16
MOVW
MOVW RW5,
RW5,@RW2 @RW2+d16
MOVW
MOVW RW5,
RW5,@RW1 @RW1+d16
MOVW
MOVW RW5,
RW5,@RW0 @RW0+d16
MOVW
MOVW RW5,
RW5, RW7 @RW7+d8
MOVW
MOVW RW5,
RW5, RW6 @RW6+d8
MOVW
MOVW RW5,
RW5, RW5 @RW5+d8
MOVW
MOVW RW5,
RW5, RW4 @RW4+d8
MOVW RW4, MOVW
@RW1+RW7 RW5, @RW1+
MOVW
MOVW RW4,
RW4,@RW3 @RW3+d16
MOVW
MOVW RW4,
RW4,@RW2 @RW2+d16
MOVW
MOVW RW4,
RW4,@RW1 @RW1+d16
MOVW
MOVW RW4,
RW4,@RW0 @RW0+d16
MOVW
MOVW RW4,
RW4, RW7 @RW7+d8
MOVW
MOVW RW4,
RW4, RW6 @RW6+d8
MOVW
MOVW RW4,
RW4, RW5 @RW5+d8
MOVW
MOVW RW4,
RW4, RW4 @RW4+d8
MOVW RW3, MOVW
@RW1+RW7 RW4, @RW1+
MOVW
MOVW RW3,
RW3,@RW3 @RW3+d16
MOVW
MOVW RW3,
RW3,@RW2 @RW2+d16
MOVW
MOVW RW3,
RW3,@RW1 @RW1+d16
MOVW
MOVW RW3,
RW3,@RW0 @RW0+d16
MOVW
MOVW RW3,
RW3, RW7 @RW7+d8
MOVW
MOVW RW3,
RW3, RW6 @RW6+d8
MOVW
MOVW RW3,
RW3, RW5 @RW5+d8
MOVW
MOVW RW3,
RW3, RW4 @RW4+d8
MOVW RW2, MOVW
@RW1+RW7 RW3, @RW1+
MOVW
MOVW RW2,
RW2, @RW2+ @PC+d16
MOVW RW1, MOVW
@RW1+RW7 RW2, @RW1+
MOVW
MOVW RW2,
RW2, RW6 @RW6+d8
MOVW
MOVW RW2,
RW2, RW5 @RW5+d8
MOVW
MOVW RW2,
RW2, RW4 @RW4+d8
MOVW
MOVW RW5,
RW5, RW3 @RW3+d8
MOVW
MOVW RW7,
RW7, RW2 @RW2+d8
MOVW
MOVW RW7,
RW7, RW1 @RW1+d8
MOVW
MOVW RW1,
RW1, RW4 @RW4+d8
MOVW
MOVW RW4,
RW4, RW3 @RW3+d8
MOVW
MOVW RW6,
RW6, RW2 @RW2+d8
MOVW
MOVW RW6,
RW6, RW1 @RW1+d8
MOVW
MOVW
RW0, RW4 @RW4+d8
MOVW
MOVW RW3,
RW3, RW3 @RW3+d8
MOVW
MOVW RW5,
RW5, RW2 @RW2+d8
MOVW
MOVW RW5,
RW5, RW1 @RW1+d8
+4
MOVW
MOVW RW2,
RW2, RW3 @RW3+d8
MOVW
MOVW RW4,
RW4, RW2 @RW2+d8
MOVW
MOVW RW4,
RW4, RW1 @RW1+d8
MOVW
MOVW RW1,
RW1, RW3 @RW3+d8
MOVW
MOVW RW3,
RW3, RW2 @RW2+d8
MOVW
MOVW RW3,
RW3, RW1 @RW1+d8
MOVW
MOVW
RW0, RW3 @RW3+d8
MOVW
MOVW RW2,
RW2, RW2 @RW2+d8
MOVW
MOVW RW2,
RW2, RW1 @RW1+d8
+3
F0
MOVW
MOVW RW7,
RW7, RW0 @RW0+d8
E0
MOVW
MOVW RW1,
RW1, RW2 @RW2+d8
D0
MOVW
MOVW RW6,
RW6, RW0 @RW0+d8
C0
MOVW
MOVW
RW0, RW2 @RW2+d8
B0
MOVW
MOVW RW5,
RW5, RW0 @RW0+d8
A0
+2
90
MOVW
MOVW RW4,
RW4, RW0 @RW0+d8
80
MOVW
MOVW RW1,
RW1, RW1 @RW1+d8
70
MOVW
MOVW RW3,
RW3, RW0 @RW0+d8
60
MOVW
MOVW
RW0, RW1 @RW1+d8
50
MOVW
MOVW RW2,
RW2, RW0 @RW0+d8
40
+1
30
MOVW
MOVW RW1,
RW1, RW0 @RW0+d8
20
MOVW
MOVW
RW0, RW0 @RW0+d8
10
+0
00
付録
表 B.9-17 MOVW RWi, ea 命令 ( 第 1 バイト =7BH)
+F
+E
+D
+C
+B
+A
+9
+8
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R1 @RW3+d16, R1
MOV
@RW2, R1 @RW2+d16, R1
MOV
@RW1, R1 @RW1+d16, R1
MOV
@RW0, R1 @RW0+d16, R1
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R2 @RW3+d16, R2
MOV
@RW2, R2 @RW2+d16, R2
MOV
@RW1, R2 @RW1+d16, R2
MOV
@RW0, R2 @RW0+d16, R2
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R3 @RW3+d16, R3
MOV
@RW2, R3 @RW2+d16, R3
MOV
@RW1, R3 @RW1+d16, R3
MOV
@RW0, R3 @RW0+d16, R3
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R4 @RW3+d16, R4
MOV
@RW2, R4 @RW2+d16, R4
MOV
@RW1, R4 @RW1+d16, R4
MOV
@RW0, R4 @RW0+d16, R4
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R5 @RW3+d16, R5
MOV
@RW2, R5 @RW2+d16, R5
MOV
@RW1, R5 @RW1+d16, R5
MOV
@RW0, R5 @RW0+d16, R5
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R6 @RW3+d16, R6
MOV
@RW2, R6 @RW2+d16, R6
MOV
@RW1, R6 @RW1+d16, R6
MOV
@RW0, R6 @RW0+d16, R6
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R7 @RW3+d16, R7
MOV
@RW2, R7 @RW2+d16, R7
MOV
@RW1, R7 @RW1+d16, R7
MOV
@RW0, R7 @RW0+d16, R7
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3+, R0 addr16, R0
MOV
@RW3+, R1 addr16, R1
MOV
MOV
MOV
MOV
MOV
@RW2+, R1 @PC+d16, R1
MOV
@RW2+, R0 @PC+d16, R0
MOV
MOV
MOV
@RW3+, R2 addr16, R2
MOV
@RW2+, R2 @PC+d16, R2
MOV
MOV
MOV
@RW3+, R3 addr16, R3
MOV
@RW2+, R3 @PC+d16, R3
MOV
MOV
MOV
@RW3+, R4 addr16, R4
MOV
@RW2+, R4 @PC+d16, R4
MOV
MOV
MOV
@RW3+, R5 addr16, R5
MOV
@RW2+, R5 @PC+d16, R5
MOV
MOV
MOV
@RW3+, R6 addr16, R6
MOV
@RW2+, R6 @PC+d16, R6
MOV
MOV
MOV
@RW3+, R7 addr16, R7
MOV
@RW2+, R7 @PC+d16, R7
MOV
@RW1+, R0 @RW1+RW7, R0 @RW1+, R1 @RW1+RW7, R1 @RW1+, R2 @RW1+RW7, R2 @RW1+, R3 @RW1+RW7, R3 @RW1+, R4 @RW1+RW7, R4 @RW1+, R5 @RW1+RW7, R5 @RW1+, R6 @RW1+RW7, R6 @RW1+, R7 @RW1+RW7, R7
MOV
@RW0+, R0 @RW0+RW7, R0 @RW0+, R1 @RW0+RW7, R1 @RW0+, R2 @RW0+RW7, R2 @RW0+, R3 @RW0+RW7, R3 @RW0+, R4 @RW0+RW7, R4 @RW0+, R5 @RW0+RW7, R5 @RW0+, R6 @RW0+RW7, R6 @RW0+, R7 @RW0+RW7, R7
MOV
@RW3, R0 @RW3+d16, R0
MOV
@RW2, R0 @RW2+d16, R0
MOV
@RW1, R0 @RW1+d16, R0
MOV
@RW0, R0 @RW0+d16, R0
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R7, R0 @RW7+d8, R0
R7, R1 @RW7+d8, R1
R7, R2 @RW7+d8, R2
R7, R3 @RW7+d8, R3
R7, R4 @RW7+d8, R4
R7, R5 @RW7+d8, R5
R7, R6 @RW7+d8, R6
R7, R7 @RW7+d8, R7
F0
+7
E0
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R6, R0 @RW6+d8, R0
R6, R1 @RW6+d8, R1
R6, R2 @RW6+d8, R2
R6, R3 @RW6+d8, R3
R6, R4 @RW6+d8, R4
R6, R5 @RW6+d8, R5
R6, R6 @RW6+d8, R6
R6, R7 @RW6+d8, R7
D0
+6
C0
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R5, R0 @RW5+d8, R0
R5, R1 @RW5+d8, R1
R5, R2 @RW5+d8, R2
R5, R3 @RW5+d8, R3
R5, R4 @RW5+d8, R4
R5, R5 @RW5+d8, R5
R5, R6 @RW5+d8, R6
R5, R7 @RW5+d8, R7
B0
+5
A0
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R4, R0 @RW4+d8, R0
R4, R1 @RW4+d8, R1
R4, R2 @RW4+d8, R2
R4, R3 @RW4+d8, R3
R4, R4 @RW4+d8, R4
R4, R5 @RW4+d8, R5
R4, R6 @RW4+d8, R6
R4, R7 @RW4+d8, R7
90
+4
80
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R3, R0 @RW3+d8, R0
R3, R1 @RW3+d8, R1
R3, R2 @RW3+d8, R2
R3, R3 @RW3+d8, R3
R3, R4 @RW3+d8, R4
R3, R5 @RW3+d8, R5
R3, R6 @RW3+d8, R6
R3, R7 @RW3+d8, R7
70
+3
60
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R2, R0 @RW2+d8, R0
R2, R1 @RW2+d8, R1
R2, R2 @RW2+d8, R2
R2, R3 @RW2+d8, R3
R2, R4 @RW2+d8, R4
R2, R5 @RW2+d8, R5
R2, R6 @RW2+d8, R6
R2, R7 @RW2+d8, R7
50
+2
40
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R1, R0 @RW1+d8, R0
R1, R1 @RW1+d8, R1
R1, R2 @RW1+d8, R2
R1, R3 @RW1+d8, R3
R1, R4 @RW1+d8, R4
R1, R5 @RW1+d8, R5
R1, R6 @RW1+d8, R6
R1, R7 @RW1+d8, R7
30
+1
20
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R0, R0 @RW0+d8, R0
R0, R1 @RW0+d8, R1
R0, R2 @RW0+d8, R2
R0, R3 @RW0+d8, R3
R0, R4 @RW0+d8, R4
R0, R5 @RW0+d8, R5
R0, R6 @RW0+d8, R6
R0, R7 @RW0+d8, R7
10
+0
00
付録 B 命令
表 B.9-18 MOV Ri, ea 命令 ( 第 1 バイト =7CH)
509
510
MOVW
[email protected]
@RW2, RW1 +d16, RW1
MOVW
[email protected]
@RW3, RW1 +d16, RW1
MOVW
[email protected]
@RW0+, RW1 +RW7,RW1
MOVW
[email protected]
@RW1+, RW1 +RW7,RW1
MOVW
[email protected]
@RW2+, RW1 +d16, RW1
MOVW
MOVW
@RW3+, RW1 addr16, RW1
MOVW
[email protected]
@RW2, RW0 +d16, RW0
MOVW
[email protected]
@RW3, RW0 +d16, RW0
MOVW
[email protected]
@RW0+, RW0 +RW7,RW0
MOVW
[email protected]
@RW1+, RW0 +RW7,RW0
MOVW
[email protected]
@RW2+, RW0 +d16, RW0
MOVW
MOVW
@RW3+, RW0 addr16, RW0
+B
+C
+D
+E
+F
MOVW
MOVW
@RW3+, RW2 addr16, RW2
MOVW
[email protected]
@RW2+, RW2 +d16, RW2
MOVW
[email protected]
@RW1+, RW2 +RW7,RW2
MOVW
[email protected]
@RW0+, RW2 +RW7,RW2
MOVW
[email protected]
@RW3, RW2 +d16, RW2
MOVW
[email protected]
@RW2, RW2 +d16, RW2
MOVW
MOVW
@RW3+, RW3 addr16, RW3
MOVW
[email protected]
@RW2+, RW3 +d16, RW3
MOVW
[email protected]
@RW1+, RW3 -+RW7,RW3
MOVW
[email protected]
@RW0+, RW3 +RW7,RW3
MOVW
[email protected]
@RW3, RW3 +d16, RW3
MOVW
[email protected]
@RW2, RW3 +d16, RW3
MOVW
[email protected]
@RW1, RW3 +d16, RW3
MOVW
MOVW
@RW3+, RW4 addr16, RW4
MOVW
[email protected]
@RW2+, RW4 +d16, RW4
MOVW
[email protected]
@RW1+, RW4 +RW7,RW4
MOVW
[email protected]
@RW0+, RW4 +RW7,RW4
MOVW
[email protected]
@RW3, RW4 +d16, RW4
MOVW
[email protected]
@RW2, RW4 +d16, RW4
MOVW
[email protected]
@RW1, RW4 +d16, RW4
MOVW
MOVW
@RW3+, RW5 addr16, RW5
MOVW
[email protected]
@RW2+, RW5 +d16, RW5
MOVW
[email protected]
@RW1+, RW5 +RW7,RW5
MOVW
[email protected]
@RW0+, RW5 +RW7,RW5
MOVW
[email protected]
@RW3, RW5 +d16, RW5
MOVW
[email protected]
@RW2, RW5 +d16, RW5
MOVW
[email protected]
@RW1, RW5 +d16, RW5
MOVW
MOVW
@RW3+, RW6 addr16, RW6
MOVW
MOVW @PC
@RW2+, RW6 +d16, RW6
MOVW
[email protected]
@RW1+, RW6 +RW7,RW6
MOVW
[email protected]
@RW0+, RW6 +RW7,RW6
MOVW
[email protected]
@RW3, RW6 +d16, RW6
MOVW
[email protected]
@RW2, RW6 +d16, RW6
MOVW
[email protected]
@RW1, RW6 +d16, RW6
MOVW
MOVW
@RW3+, RW7 addr16, RW7
MOVW
[email protected]
@RW2+, RW7 +d16, RW7
MOVW
[email protected]
@RW1+, RW7 +RW7,RW7
MOVW
[email protected]
@RW0+, RW7 +RW7,RW7
MOVW
[email protected]
@RW3, RW7 +d16, RW7
MOVW
[email protected]
@RW2, RW7 +d16, RW7
MOVW
[email protected]
@RW1, RW7 +d16, RW7
MOVW
[email protected]
@RW0, RW7 +d16, RW7
+A
MOVW
[email protected]
@RW1, RW2 +d16, RW2
MOVW
[email protected]
@RW0, RW6 +d16, RW6
MOVW
[email protected]
@RW1, RW1 +d16, RW1
MOVW
[email protected]
@RW0, RW5 +d16, RW5
MOVW
[email protected]
@RW1, RW0 +d16, RW0
MOVW
[email protected]
@RW0, RW4 +d16, RW4
+9
MOVW
[email protected]
@RW0, RW3 +d16, RW3
MOVW
[email protected]
@RW0, RW1 +d16, RW1
MOVW
[email protected]
@RW0, RW0 +d16, RW0
+8
MOVW
[email protected]
@RW0, RW2 +d16, RW2
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW7, RW0 @RW7+d8, RW0
RW7, RW1 @RW7+d8, RW1
RW7, RW2 @RW7+d8, RW2
RW7, RW3 @RW7+d8, RW3
RW7, RW4 @RW7+d8, RW4
RW7, RW5 @RW7+d8, RW5
RW7, RW6 @RW7+d8, RW6
RW7, RW7 @RW7+d8, RW7
F0
+7
E0
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW6, RW0 @RW6+d8, RW0
RW6, RW1 @RW6+d8, RW1
RW6, RW2 @RW6+d8, RW2
RW6, RW3 @RW6+d8, RW3
RW6, RW4 @RW6+d8, RW4
RW6, RW5 @RW6+d8, RW5
RW6, RW6 @RW6+d8, RW6
RW6, RW7 @RW6+d8, RW7
D0
+6
C0
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW5, RW0 @RW5+d8, RW0
RW5, RW1 @RW5+d8, RW1
RW5, RW2 @RW5+d8, RW2
RW5, RW3 @RW5+d8, RW3
RW5, RW4 @RW5+d8, RW4
RW5, RW5 @RW5+d8, RW5
RW5, RW6 @RW5+d8, RW6
RW5, RW7 @RW5+d8, RW7
B0
+5
A0
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW4, RW0 @RW4+d8, RW0
RW4, RW1 @RW4+d8, RW1
RW4, RW2 @RW4+d8, RW2
RW4, RW3 @RW4+d8, RW3
RW4, RW4 @RW4+d8, RW4
RW4, RW5 @RW4+d8, RW5
RW4, RW6 @RW4+d8, RW6
RW4, RW7 @RW4+d8, RW7
90
+4
80
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW3, RW0 @RW3+d8, RW0
RW3, RW1 @RW3+d8, RW1
RW3, RW2 @RW3+d8, RW2
RW3, RW3 @RW3+d8, RW3
RW3, RW4 @RW3+d8, RW4
RW3, RW5 @RW3+d8, RW5
RW3, RW6 @RW3+d8, RW6
RW3, RW7 @RW3+d8, RW7
70
+3
60
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW2, RW0 @RW2+d8, RW0
RW2, RW1 @RW2+d8, RW1
RW2, RW2 @RW2+d8, RW2
RW2, RW3 @RW2+d8, RW3
RW2, RW4 @RW2+d8, RW4
RW2, RW5 @RW2+d8, RW5
RW2, RW6 @RW2+d8, RW6
RW2, RW7 @RW2+d8, RW7
50
+2
40
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW1, RW0 @RW1+d8, RW0
RW1, RW1 @RW1+d8, RW1
RW1, RW2 @RW1+d8, RW2
RW1, RW3 @RW1+d8, RW3
RW1, RW4 @RW1+d8, RW4
RW1, RW5 @RW1+d8, RW5
RW1, RW6 @RW1+d8, RW6
RW1, RW7 @RW1+d8, RW7
30
+1
20
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW0, RW0 @RW0+d8, RW0
RW0, RW1 @RW0+d8, RW1
RW0, RW2 @RW0+d8, RW2
RW0, RW3 @RW0+d8, RW3
RW0, RW4 @RW0+d8, RW4
RW0, RW5 @RW0+d8, RW5
RW0, RW6 @RW0+d8, RW6
RW0, RW7 @RW0+d8, RW7
10
+0
00
付録
表 B.9-19 MOVW RWi, ea 命令 ( 第 1 バイト =7DH)
XCH
XCH
XCH
XCH
R1,
XCH
XCH R1,
R1,@RW2 W2+d16, A
XCH
XCH
R2,
XCH
XCH R2,
R2,@RW2 W2+d16, A
XCH
XCH
R3,
XCH
XCH R3,
R3,@RW2 W2+d16, A
XCH
XCH
R4,
XCH
XCH R4,
R4,@RW2 W2+d16, A
XCH
XCH
R5,
XCH
XCH R5,
R5,@RW2 W2+d16, A
XCH
XCH
R6,
XCH
XCH R6,
R6,@RW2 W2+d16, A
XCH
XCH
R7,
XCH
XCH R7,
R7,@RW2 W2+d16, A
XCH
XCH
XCH
XCH
XCH
R1, XCH
XCH
R2, XCH
XCH
R3, XCH
XCH
R4, XCH
XCH
R5, XCH
XCH
R6, XCH
XCH
R7,
+F R0,@RW3+ R0, addr16
XCH
XCH
R1,@RW3+ R1, addr16
XCH
XCH
R2,@RW3+ R2, addr16
XCH
XCH
R3,@RW3+ R3, addr16
XCH
XCH
R4,@RW3+ R4, addr16
XCH
XCH
R5,@RW3+ R5, addr16
XCH
XCH
R6,@RW3+ R6, addr16
XCH
XCH
R7,@RW3+ R7, addr16
+E R0,@RW2+ @PC+d16 R1,@RW2+ @PC+d16 R2,@RW2+ @PC+d16 R3,@RW2+ @PC+d16 R4,@RW2+ @PC+d16 R5,@RW2+ @PC+d16 R6,@RW2+ @PC+d16 R7,@RW2+ @PC+d16
R0, XCH
XCH R0,
XCH
XCH R1,
XCH
XCH R2,
XCH
XCH R3,
XCH
XCH R4,
XCH
XCH R5,
XCH
XCH R6,
XCH
XCH R7,
@RW1+RW7 R1,@RW1+ @RW1+RW7 R2,@RW1+ @RW1+RW7 R3,@RW1+ @RW1+RW7 R4,@RW1+ @RW1+RW7 R5,@RW1+ @RW1+RW7 R6,@RW1+ @RW1+RW7 R7,@RW1+ @RW1+RW7
+D R0,@RW1+
XCH
XCH R0,
XCH
XCH R1,
XCH
XCH R2,
XCH
XCH R3,
XCH
XCH R4,
XCH
XCH R5,
XCH
XCH R6,
XCH
XCH R7,
@RW0+RW7 R1,@RW0+ @RW0+RW7 R2,@RW0+ @RW0+RW7 R3,@RW0+ @RW0+RW7 R4,@RW0+ @RW0+RW7 R5,@RW0+ @RW0+RW7 R6,@RW0+ @RW0+RW7 R7,@RW0+ @RW0+RW7
XCH
+C R0,@RW0+
+B R0,@RW3 @RW3+d16 R1,@RW3 @RW3+d16 R2,@RW3 @RW3+d16 R3,@RW3 @RW3+d16 R4,@RW3 @RW3+d16 R5,@RW3 @RW3+d16 R6,@RW3 @RW3+d16 R7,@RW3 @RW3+d16
R0,
+A R0,@RW2 W2+d16, A
R0,
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0,@RW1 @RW1+d16 R1,@RW1 @RW1+d16 R2,@RW1 @RW1+d16 R3,@RW1 @RW1+d16 R4,@RW1 @RW1+d16 R5,@RW1 @RW1+d16 R6,@RW1 @RW1+d16 R7,@RW1 @RW1+d16
+9
XCH
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0,@RW0 @RW0+d16 R1,@RW0 @RW0+d16 R2,@RW0 @RW0+d16 R3,@RW0 @RW0+d16 R4,@RW0 @RW0+d16 R5,@RW0 @RW0+d16 R6,@RW0 @RW0+d16 R7,@RW0 @RW0+d16
+8
XCH
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R7 @RW7+d8
R1, R7 @RW7+d8
R2, R7 @RW7+d8
R3, R7 @RW7+d8
R4, R7 @RW7+d8
R5, R7 @RW7+d8
R6, R7 @RW7+d8
R7, R7 @RW7+d8
F0
+7
E0
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R6 @RW6+d8
R1, R6 @RW6+d8
R2, R6 @RW6+d8
R3, R6 @RW6+d8
R4, R6 @RW6+d8
R5, R6 @RW6+d8
R6, R6 @RW6+d8
R7, R6 @RW6+d8
D0
+6
C0
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R5 @RW5+d8
R1, R5 @RW5+d8
R2, R5 @RW5+d8
R3, R5 @RW5+d8
R4, R5 @RW5+d8
R5, R5 @RW5+d8
R6, R5 @RW5+d8
R7, R5 @RW5+d8
B0
+5
A
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R4 @RW4+d8
R1, R4 @RW4+d8
R2, R4 @RW4+d8
R3, R4 @RW4+d8
R4, R4 @RW4+d8
R5, R4 @RW4+d8
R6, R4 @RW4+d8
R7, R4 @RW4+d8
90
+4
80
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R3 @RW3+d8
R1, R3 @RW3+d8
R2, R3 @RW3+d8
R3, R3 @RW3+d8
R4, R3 @RW3+d8
R5, R3 @RW3+d8
R6, R3 @RW3+d8
R7, R3 @RW3+d8
70
+3
60
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R2 @RW2+d8
R1, R2 @RW2+d8
R2, R2 @RW2+d8
R3, R2 @RW2+d8
R4, R2 @RW2+d8
R5, R2 @RW2+d8
R6, R2 @RW2+d8
R7, R2 @RW2+d8
50
+2
40
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R1 @RW1+d8
R1, R1 @RW1+d8
R2, R1 @RW1+d8
R3, R1 @RW1+d8
R4, R1 @RW1+d8
R5, R1 @RW1+d8
R6, R1 @RW1+d8
R7, R1 @RW1+d8
30
+1
20
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R0 @RW0+d8
R1, R0 @RW0+d8
R2, R0 @RW0+d8
R3, R0 @RW0+d8
R4, R0 @RW0+d8
R5, R0 @RW0+d8
R6, R0 @RW0+d8
R7, R0 @RW0+d8
10
+0
00
付録 B 命令
表 B.9-20 XCH Ri, ea 命令 ( 第 1 バイト =7EH)
511
512
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW2+ @PC+d16
RW1,@RW2+ @PC+d16
RW2,@RW2+ @PC+d16
RW3,@RW2+ @PC+d16
RW4,@RW2+ @PC+d16
RW5,@RW2+ @PC+d16
RW6,@RW2+ @PC+d16
RW7,@RW2+ @PC+d16
XCHW
XCHW
RW0,@RW3+ RW0, addr16
+E
+F
XCHW
XCHW
RW7,@RW3+ RW7, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW1+ @RW1+RW7 RW1,@RW1+ @RW1+RW7 RW2,@RW1+ @RW1+RW7 RW3,@RW1+ @RW1+RW7 RW4,@RW1+ @RW1+RW7 RW5,@RW1+ @RW1+RW7 RW6,@RW1+ @RW1+RW7 RW7,@RW1+ @RW1+RW7
+D
XCHW
XCHW
RW6,@RW3+ RW6, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW0+ @RW0+RW7 RW1,@RW0+ @RW0+RW7 RW2,@RW0+ @RW0+RW7 RW3,@RW0+ @RW0+RW7 RW4,@RW0+ @RW0+RW7 RW5,@RW0+ @RW0+RW7 RW6,@RW0+ @RW0+RW7 RW7,@RW0+ @RW0+RW7
+C
XCHW
XCHW
RW5,@RW3+ RW5, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW3 @RW3+d16
RW1,@RW3 @RW3+d16
RW2,@RW3 @RW3+d16
RW3,@RW3 @RW3+d16
RW4,@RW3 @RW3+d16
RW5,@RW3 @RW3+d16
RW6,@RW3 @RW3+d16
RW7,@RW3 @RW3+d16
+B
XCHW
XCHW
RW4,@RW3+ RW4, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW2 @RW2+d16
RW1,@RW2 @RW2+d16
RW2,@RW2 @RW2+d16
RW3,@RW2 @RW2+d16
RW4,@RW2 @RW2+d16
RW5,@RW2 @RW2+d16
RW6,@RW2 @RW2+d16
RW7,@RW2 @RW2+d16
+A
XCHW
XCHW
RW3,@RW3+ RW3, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW1 @RW1+d16
RW1,@RW1 @RW1+d16
RW2,@RW1 @RW1+d16
RW3,@RW1 @RW1+d16
RW4,@RW1 @RW1+d16
RW5,@RW1 @RW1+d16
RW6,@RW1 @RW1+d16
RW7,@RW1 @RW1+d16
+9
XCHW
XCHW
RW2,@RW3+ RW2, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW0 @RW0+d16
RW1,@RW0 @RW0+d16
RW2,@RW0 @RW0+d16
RW3,@RW0 @RW0+d16
RW4,@RW0 @RW0+d16
RW5,@RW0 @RW0+d16
RW6,@RW0 @RW0+d16
RW7,@RW0 @RW0+d16
+8
XCHW
XCHW
RW1,@RW3+ RW1, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW7 @RW7+d8
RW1, RW7 @RW7+d8
RW2, RW7 @RW7+d8
RW3, RW7 @RW7+d8
RW4, RW7 @RW7+d8
RW5, RW7 @RW7+d8
RW6, RW7 @RW7+d8
RW7, RW7 @RW7+d8
F0
+7
E0
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW6 @RW6+d8
RW1, RW6 @RW6+d8
RW2, RW6 @RW6+d8
RW3, RW6 @RW6+d8
RW4, RW6 @RW6+d8
RW5, RW6 @RW6+d8
RW6, RW6 @RW6+d8
RW7, RW6 @RW6+d8
D0
+6
C0
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW5 @RW5+d8
RW1, RW5 @RW5+d8
RW2, RW5 @RW5+d8
RW3, RW5 @RW5+d8
RW4, RW5 @RW5+d8
RW5, RW5 @RW5+d8
RW6, RW5 @RW5+d8
RW7, RW5 @RW5+d8
B0
+5
A0
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW4 @RW4+d8
RW1, RW4 @RW4+d8
RW2, RW4 @RW4+d8
RW3, RW4 @RW4+d8
RW4, RW4 @RW4+d8
RW5, RW4 @RW4+d8
RW6, RW4 @RW4+d8
RW7, RW4 @RW4+d8
90
+4
80
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW3 @RW3+d8
RW1, RW3 @RW3+d8
RW2, RW3 @RW3+d8
RW3, RW3 @RW3+d8
RW4, RW3 @RW3+d8
RW5, RW3 @RW3+d8
RW6, RW3 @RW3+d8
RW7, RW3 @RW3+d8
70
+3
60
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW2 @RW2+d8
RW1, RW2 @RW2+d8
RW2, RW2 @RW2+d8
RW3, RW2 @RW2+d8
RW4, RW2 @RW2+d8
RW5, RW2 @RW2+d8
RW6, RW2 @RW2+d8
RW7, RW2 @RW2+d8
50
+2
40
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW1 @RW1+d8
RW1, RW1 @RW1+d8
RW2, RW1 @RW1+d8
RW3, RW1 @RW1+d8
RW4, RW1 @RW1+d8
RW5, RW1 @RW1+d8
RW6, RW1 @RW1+d8
RW7, RW1 @RW1+d8
30
+1
20
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW0 @RW0+d8
RW1, RW0 @RW0+d8
RW2, RW0 @RW0+d8
RW3, RW0 @RW0+d8
RW4, RW0 @RW0+d8
RW5, RW0 @RW0+d8
RW6, RW0 @RW0+d8
RW7, RW0 @RW0+d8
10
+0
00
付録
表 B.9-21 XCHW RWi, ea 命令 ( 第 1 バイト =7FH)
索引
Numerics
A
1 系統品
低消費電力モード状態遷移図 (1 系統品 ) .........120
24 ビット
24 ビットオペランド指定 ......................................29
2 系統品
低消費電力モード状態遷移図 (2 系統品 ) .........115
32 ビット
32 ビットレジスタ間接指定 ..................................29
A/D
A/D 制御ステータスレジスタ 0(ADCS0) ..........242
A/D 制御ステータスレジスタ 1(ADCS1) ..........245
A/D コンバータ
A/D コンバータの特長 ........................................ 238
A/D コンバータのブロックダイヤグラム ........240
A/D コンバータのレジスタ一覧 ........................ 241
A/D 制御ステータスレジスタ
A/D 制御ステータスレジスタ 0(ADCS0) ..........242
A/D 制御ステータスレジスタ 1(ADCS1) ..........245
A/D データレジスタ
A/D データレジスタ 0/1(ADCR0, ADCR1) ....... 248
A/D データレジスタ 0/1
A/D データレジスタ 0/1(ADCR0, ADCR1) ....... 248
ADCR
A/D データレジスタ 0/1(ADCR0, ADCR1) ....... 248
ADCR0
A/D データレジスタ 0/1(ADCR0, ADCR1) ....... 248
ADCR0, ADCR1
A/D データレジスタ 0/1(ADCR0, ADCR1) ....... 248
ADCR1
A/D データレジスタ 0/1(ADCR0, ADCR1) ....... 248
ADCS
A/D 制御ステータスレジスタ 0(ADCS0) ..........242
A/D 制御ステータスレジスタ 1(ADCS1) ..........245
ADCS0
A/D 制御ステータスレジスタ 0(ADCS0) ..........242
ADCS1
A/D 制御ステータスレジスタ 1(ADCS1) ..........245
ADER
アナログ入力許可レジスタ (ADER) .................. 152
AMR0/AMR1
アクセプタンスマスクレジスタ 0/1
(AMR0/AMR1) ................................................363
AMSR
アクセプタンスマスク選択レジスタ
(AMSR) ............................................................ 361
ARSR
自動レディ機能選択レジスタ (ARSR) ..............131
B
BAP
バッファアドレスポインタ (BAP) .......................71
BTR
ビットタイミングレジスタ (BTR) .....................347
BVAL
BVAL ビットによるメッセージバッファ禁止時の
注意 .................................................................. 385
BVALR
メッセージバッファ有効レジスタ
(BVALR) .......................................................... 349
513
C
CAN
CAN コントローラの受信フローチャート .......376
CAN コントローラの送信の開始 .......................371
CAN コントローラの送信の完了 .......................372
CAN コントローラの送信フローチャート .......372
CAN コントローラの送信要求の解除 ...............371
CAN コントローラの特長 ...................................330
CAN コントローラのブロック
ダイヤグラム ..................................................331
制御ステータスレジスタ (CSR) .........................339
CAN コントローラ
CAN コントローラの受信フローチャート .......376
CAN コントローラの送信の開始 .......................371
CAN コントローラの送信の完了 .......................372
CAN コントローラの送信フローチャート .......372
CAN コントローラの送信要求の解除 ...............371
CAN コントローラの特長 ...................................330
CAN コントローラのブロック
ダイヤグラム ..................................................331
CAN 制御ステータスレジスタ
CAN 制御ステータスレジスタ (CSR) ................339
CCR
コンディションコードレジスタ (CCR) ...............37
CDCR
UART1 通信プリスケーラ制御レジスタ
(CDCR) .............................................................296
CKSCR
クロック選択レジスタ (CKSCR) ..........................93
CLK
CLK 同期ボーレート ............................................271
CLK 同期モードの通信開始 ................................303
CLK 同期モードの通信終了 ................................303
CLK 同期モードの転送データ
フォーマット ..................................................302
CLK 同期モードを使用する場合の各制御
レジスタの設定値 ..........................................303
CLK 非同期ボーレート ........................................271
CLK 同期ボーレート
CLK 同期ボーレート ............................................271
CLK 同期モード
CLK 同期モードの通信開始 ................................303
CLK 同期モードの通信終了 ................................303
CLK 同期モードの転送データ
フォーマット ..................................................302
CLK 同期モードを使用する場合の各制御
レジスタの設定値 ..........................................303
CLK 非同期ボーレート
CLK 非同期ボーレート ........................................271
CMR
コモンレジスタバンクプリフィックス
(CMR) .................................................................44
CPU
CPU 間欠動作 ........................................................110
CPU 間欠動作機能 ..................................................86
CPU の概要 ..............................................................26
CPU メモリ空間の概要 ..........................................27
CPU 間欠動作
CPU 間欠動作 ........................................................110
CPU 間欠動作機能 ..................................................86
514
CSR
CAN 制御ステータスレジスタ (CSR) ................ 339
D
DCT
データカウンタ (DCT) ...........................................69
DDR
ポート方向レジスタ (DDR0 ∼ DDRA) ............. 148
DDR0
ポート方向レジスタ (DDR0 ∼ DDRA) ............. 148
DDRA
ポート方向レジスタ (DDR0 ∼ DDRA) ............. 148
DIRR
遅延割込み要因発生 / 解除レジスタ (DIRR)
..........................................................................225
「DIV A,Ri」,「DIVW A,RWi」
「DIV A,Ri」,「DIVW A,RWi」命令の
使用上の注意 ....................................................47
DLC
DLC レジスタ x(x=0 ∼ 15)(DLCRx) .................. 368
DLCRx
DLC レジスタ x(x=0 ∼ 15)(DLCRx) .................. 368
DLC レジスタ x
DLC レジスタ x(x=0 ∼ 15)(DLCRx) .................. 368
DQ2
トグルビット 2 フラグ (DQ2) ............................. 414
DQ3
セクタ消去タイマフラグ (DQ3) .........................413
DQ5
タイミングリミット超過フラグ (DQ5) ............. 412
DQ6
トグルビットフラグ (DQ6) ................................. 411
DQ7
データポーリングフラグ (DQ7) .........................409
DTP
DTP/ 外部割込み許可レジスタ (ENIR:Interrupt
request enable register) .....................................230
DTP/ 外部割込みの概要 .......................................228
DTP/ 外部割込みの使用上の注意 .......................235
DTP/ 外部割込みのブロックダイヤグラム
..........................................................................228
DTP/ 外部割込みのレジスタ ............................... 229
DTP/ 外部割込み要因レジスタ (EIRR:External
interrupt request register) ................................. 230
DTP の動作 ............................................................ 232
DTP 要求と外部割込み要求の切換え ................ 234
DTP/ 外部割込み
DTP/ 外部割込みの概要 .......................................228
DTP/ 外部割込みの使用上の注意 .......................235
DTP/ 外部割込みのブロックダイヤグラム
..........................................................................228
DTP/ 外部割込みのレジスタ ............................... 229
DTP/ 外部割込み許可レジスタ
DTP/ 外部割込み許可レジスタ (ENIR:Interrupt
request enable register) .....................................230
DTP/ 外部割込み要因レジスタ
DTP/ 外部割込み要因レジスタ (EIRR:External
interrupt request register) ................................. 230
DTP 要求
DTP 要求と外部割込み要求の切換え ................ 234
DTRx
データレジスタ x(x=0 ∼ 15)(DTRx) ..................369
E
ECSR
バス制御信号選択レジスタ (ECSR) ...................134
EEPROM
EEPROM メモリマップ .......................................392
EEPROM メモリマップ
EEPROM メモリマップ .......................................392
EI2OS
EI2OS( 拡張インテリジェント I/O
サービス ) ........................................................281
EI2OS ステータスレジスタ (ISCS) .......................70
EI2OS を使った変換動作 .....................................252
インテリジェント I/O サービス (EI2OS) 機能と
割込み ..............................................................192
拡張インテリジェント I/O サービス
(EI2OS) .............................................................310
拡張インテリジェント I/O サービス (EI2OS) の
概要 ....................................................................64
拡張インテリジェント I/O サービス (EI2OS) の
構造 ....................................................................65
拡張インテリジェント I/O サービス (EI2OS) の
実行時間 ............................................................74
拡張インテリジェント I/O サービス (EI2OS) の
動作フロー ........................................................72
単発モード時の EI2OS の起動例 ........................253
停止モード時の EI2OS の起動例 ........................255
変換データ保護機能のフロー例
(EI2OS の場合 ) ...............................................257
連続モード時の EI2OS の起動例 ........................254
EI2OS ステータスレジスタ
EI2OS ステータスレジスタ (ISCS) .......................70
EIRR
DTP/ 外部割込み要因レジスタ (EIRR:External
interrupt request register) ..................................230
ELVR
要求レベル設定レジスタ (ELVR:External level
register) .............................................................231
ENIR
DTP/ 外部割込み許可レジスタ (ENIR:Interrupt
request enable register) .....................................230
External interrupt
DTP/ 外部割込み要因レジスタ (EIRR:External
interrupt request register) ..................................230
External interrupt request register
DTP/ 外部割込み要因レジスタ (EIRR:External
interrupt request register) ..................................230
External level register
要求レベル設定レジスタ (ELVR:External level
register) .............................................................231
F
F2MC-16LX
F2MC-16LX 命令一覧表 .......................................477
FMCS
フラッシュメモリ制御ステータスレジスタ
(FMCS) .............................................................404
FPT-100P-M05
FPT-100P-M05 端子配列図 ......................................9
FPT-100P-M05 パッケージ外形寸法図 ..................7
FPT-100P-M06
FPT-100P-M06 端子配列図 ......................................8
FPT-100P-M06 パッケージ外形寸法図 ..................6
H
HACR
外部アドレス出力制御レジスタ (HACR) ..........133
HALT
バス動作停止間の状態 (HALT= 1 ) .................... 343
バス動作停止を解除する条件 (HALT= 0 ) ........342
バス動作停止をセットする条件 (HALT= 1 )
..........................................................................342
I
I/O
EI2OS( 拡張インテリジェント I/O
サービス ) ........................................................ 281
I/O ポートの概要 ..................................................144
I/O ポートのレジスタ一覧 ..................................145
I/O レジスタアドレスポインタ (IOA) ................. 70
インテリジェント I/O サービス (EI2OS) 機能と
割込み .............................................................. 192
拡張インテリジェント I/O サービス
(EI2OS) .............................................................310
拡張インテリジェント I/O サービス (EI2OS) の
概要 .................................................................... 64
拡張インテリジェント I/O サービス (EI2OS) の
構造 .................................................................... 65
拡張インテリジェント I/O サービス (EI2OS) の
実行時間 ............................................................ 74
拡張インテリジェント I/O サービス (EI2OS) の
動作フロー ........................................................72
拡張インテリジェント I/O サービス
ディスクリプタ (ISD) ...................................... 69
シリアル I/O の動作 .............................................320
シリアル I/O の動作状態 .....................................322
シリアル I/O のブロックダイヤグラム ............. 312
シリアル I/O のレジスタ .....................................313
シリアル I/O の割込み機能 ................................. 327
シリアル I/O プリスケーラ (SCDCR) ................ 319
I/O ポート
I/O ポートの概要 ..................................................144
I/O ポートのレジスタ一覧 ..................................145
I/O マップ
I/O マップ .............................................................. 446
I/O レジスタアドレスポインタ
I/O レジスタアドレスポインタ (IOA) ................. 70
ICR
割込み制御レジスタ (ICR) ....................................66
ICS01
インプットキャプチャ制御ステータスレジスタ
(ICS01) .............................................................187
ID
ID の設定 ...............................................................377
ID レジスタ x(x=0 ∼ 15)(IDRx) .......................... 366
メッセージバッファ (ID レジスタ ) の
一覧 .................................................................. 334
515
IDE
IDE レジスタ (IDER) ............................................350
IDER
IDE レジスタ (IDER) ............................................350
IDE レジスタ
IDE レジスタ (IDER) ............................................350
IDRx
ID レジスタ x(x=0 ∼ 15)(IDRx) ..........................366
ID レジスタ
ID レジスタ x(x=0 ∼ 15)(IDRx) ..........................366
ILM
割込みレベルマスクレジスタ (ILM) ....................39
Interrupt
DTP/ 外部割込み許可レジスタ (ENIR:Interrupt
request enable register) .....................................230
DTP/ 外部割込み要因レジスタ (EIRR:External
interrupt request register) ..................................230
Interrupt request enable register
DTP/ 外部割込み許可レジスタ (ENIR:Interrupt
request enable register) .....................................230
IOA
I/O レジスタアドレスポインタ (IOA) .................70
IPCP0/1
インプットキャプチャデータレジスタ
(IPCP0/1) ..........................................................187
ISCS
EI2OS ステータスレジスタ (ISCS) .......................70
ISD
拡張インテリジェント I/O サービス
ディスクリプタ (ISD) ......................................69
L
LEIR
ラストイベント表示レジスタ (LEIR) ................344
LPMCR
低消費電力モード制御レジスタ (LPMCR) .........91
N
NCC
フラグ変化抑止プリフィックス (NCC) ...............44
O
OCCP
アウトプットコンペアのコンペアレジスタ
(OCCP) .............................................................180
OCS0/1
アウトプットコンペアの制御ステータスレジスタ
(OCS0/1) ...........................................................181
P
PACSR
プログラムアドレス検出制御ステータスレジスタ
(PACSR) ...........................................................389
PADR0/PADR1
プログラムアドレス検出レジスタ 0/1
(PADR0/PADR1) .............................................389
516
PC
プログラムカウンタ (PC) ...................................... 40
PDR
ポートデータレジスタ (PDR0 ∼ PDRA) ..........146
PDR0
ポートデータレジスタ (PDR0 ∼ PDRA) ..........146
PDRA
ポートデータレジスタ (PDR0 ∼ PDRA) ..........146
PLL クロック
PLL クロック逓倍機能 .......................................... 88
PLL クロック逓倍機能
PLL クロック逓倍機能 .......................................... 88
PPG
8/16 ビット PPG のカウントクロックの
選択 .................................................................. 218
8/16 ビット PPG の各ハードウェアの
初期値 .............................................................. 221
8/16 ビット PPG の機能 .......................................206
8/16 ビット PPG の出力動作 ............................... 217
8/16 ビット PPG の動作 .......................................216
8/16 ビット PPG の動作モード ........................... 216
8/16 ビット PPG のパルスの端子出力の
制御 .................................................................. 219
8/16 ビット PPG のブロックダイヤグラム ....... 207
8/16 ビット PPG のリロード値とパルス幅の
関係 .................................................................. 217
8/16 ビット PPG のレジスタ ............................... 209
8/16 ビット PPG の割込み ................................... 220
PPG0 動作モード制御レジスタ (PPGC0) ..........210
PPG1 動作モード制御レジスタ (PPGC1) ..........212
PPG ユニット 0 クロック選択レジスタ
(PPG01) ............................................................ 214
PPG01
PPG ユニット 0 クロック選択レジスタ
(PPG01) ............................................................ 214
PPG0 動作モード制御レジスタ
PPG0 動作モード制御レジスタ (PPGC0) ..........210
PPG1 動作モード制御レジスタ
PPG1 動作モード制御レジスタ (PPGC1) ..........212
PPGC
PPG0 動作モード制御レジスタ (PPGC0) ..........210
PPG1 動作モード制御レジスタ (PPGC1) ..........212
PPGC0
PPG0 動作モード制御レジスタ (PPGC0) ..........210
PPGC1
PPG1 動作モード制御レジスタ (PPGC1) ..........212
PPG ユニット 0
PPG ユニット 0 クロック選択レジスタ
(PPG01) ............................................................ 214
PPG ユニット 0 クロック選択レジスタ
PPG ユニット 0 クロック選択レジスタ
(PPG01) ............................................................ 214
PRLL, PRLH
リロードレジスタ (PRLL, PRLH) .......................215
PS
プロセッサステータス (PS) ..................................37
PUCR
プルアップ制御レジスタ (PUCR0 ∼
PUCR3) ............................................................ 150
プルアップ制御レジスタ (PUCR0 ∼ PUCR3) の
ブロックダイヤグラム ..................................151
R
T
RCR
受信完了レジスタ (RCR) .....................................357
RFWTR
リモートフレーム受信待機レジスタ
(RFWTR) ..........................................................353
RIER
受信割込み許可レジスタ (RIER) ........................360
ROM
ROM ミラー機能選択モジュールのブロック
ダイヤグラム ..................................................396
ROM ミラー機能選択レジスタ (ROMM) ..........397
ROMM
ROM ミラー機能選択レジスタ (ROMM) ..........397
ROM ミラー機能選択モジュール
ROM ミラー機能選択モジュールのブロック
ダイヤグラム ..................................................396
ROM ミラー機能選択レジスタ
ROM ミラー機能選択レジスタ (ROMM) ..........397
ROVRR
受信オーバランレジスタ (ROVRR) ...................359
RP
レジスタバンクポインタ (RP) ..............................38
RRTRR
リモート要求受信レジスタ (RRTRR) ................358
RTEC
受信および送信エラーカウンタ (RTEC) ...........346
TBTC
タイムベースタイマ制御レジスタ (TBTC)
..........................................................................155
TCANR
送信解除レジスタ (TCANR) ............................... 354
TCCS
タイマカウンタ制御ステータスレジスタ
(TCCS) .............................................................175
TCDT
タイマカウンタデータレジスタ (TCDT) ..........174
TCR
送信完了レジスタ (TCR) .....................................355
TIER
送信割込み許可レジスタ (TIER) ........................ 356
TMCSR
タイマ制御ステータスレジスタ (TMCSR) ....... 195
TMR
16 ビットタイマレジスタ (TMR)/16 ビット
リロードレジスタ (TMRLR) .........................198
TMRLR
16 ビットタイマレジスタ (TMR)/16 ビット
リロードレジスタ (TMRLR) .........................198
TREQR
送信要求レジスタ (TREQR) ................................351
TRTRR
送信 RTR レジスタ (TRTRR) ..............................352
S
U
SCDCR
シリアル I/O プリスケーラ (SCDCR) ................319
SCR
シリアル制御レジスタ 1(SCR1) .........................291
SCR1
シリアル制御レジスタ 1(SCR1) .........................291
SDR
シリアルシフトデータレジスタ (SDR) .............318
SIDR
シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1
(SODR1) ...........................................................293
SMCS
シリアルモード制御ステータスレジスタ
(SMCS) .............................................................314
SMR
シリアルモードレジスタ 1(SMR1) ....................289
SODR
シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1
(SODR1) ...........................................................293
SSP
ユーザスタックポインタ (USP) と
システムスタックポインタ (SSP) ..................36
SSR
シリアルステータスレジスタ 1(SSR1) ..............294
UART
UART0 の応用例 ................................................... 282
UART0 の動作モード .......................................... 270
UART0 の特長 ....................................................... 260
UART0 のブロックダイヤグラム ...................... 261
UART0 のレジスタ .............................................. 262
UART1 通信プリスケーラ制御レジスタ
(CDCR) .............................................................296
UART1 の応用例 ( モード 1 使用時のシステム
構築例 ) ............................................................ 309
UART1 のクロック選択 ...................................... 297
UART1 の使用上の注意 ...................................... 310
UART1 の通信フローチャート .......................... 309
UART1 の動作モード .......................................... 297
UART1 の特長 ....................................................... 286
UART1 のフラグ ................................................... 304
UART1 のブロックダイヤグラム ...................... 287
UART1 のレジスタ一覧 ...................................... 288
UART1 の割込みとフラグのセット
タイミング ......................................................305
UART1 の割込み発生要因 ..................................304
UART0
UART0 の応用例 ................................................... 282
UART0 の動作モード .......................................... 270
UART0 の特長 ....................................................... 260
UART0 のブロックダイヤグラム ...................... 261
UART0 のレジスタ .............................................. 262
UART1
UART1 通信プリスケーラ制御レジスタ
(CDCR) .............................................................296
517
UART1 の応用例 ( モード 1 使用時のシステム
構築例 ) ............................................................309
UART1 のクロック選択 .......................................297
UART1 の使用上の注意 .......................................310
UART1 の通信フローチャート ...........................309
UART1 の動作モード ...........................................297
UART1 の特長 .......................................................286
UART1 のフラグ ...................................................304
UART1 のブロックダイヤグラム .......................287
UART1 のレジスタ一覧 .......................................288
UART1 の割込みとフラグのセット
タイミング ......................................................305
UART1 の割込み発生要因 ...................................304
UART1 通信プリスケーラ制御レジスタ
UART1 通信プリスケーラ制御レジスタ
(CDCR) .............................................................296
UIDR
シリアルインプットデータレジスタ 0(UIDR0) と
シリアルアウトプットデータレジスタ
..........................................................................267
UMC
シリアルモード制御レジスタ 0(UMC0) ............263
UMC0
シリアルモード制御レジスタ 0(UMC0) ............263
UODR
シリアルインプットデータレジスタ 0(UIDR0) と
シリアルアウトプットデータレジスタ
..........................................................................267
URD
レート・データレジスタ 0(URD0) ....................268
URD0
レート・データレジスタ 0(URD0) ....................268
USP
ユーザスタックポインタ (USP) と
システムスタックポインタ (SSP) ..................36
USR
シリアルステータスレジスタ 0(USR0) .............265
W
WDTC
ウォッチドッグタイマ制御レジスタ
(WDTC) ............................................................159
WTC
時計タイマ制御レジスタ (WTC) ........................165
あ
アウトプットコンペア
アウトプットコンペア ........................................ 179
アウトプットコンペア ( モジュールごとに
2 チャネル ) ..................................................... 170
アウトプットコンペアのコンペアレジスタ
(OCCP) .............................................................180
アウトプットコンペアの制御ステータスレジスタ
(OCS0/1) ...........................................................181
アウトプットコンペアのタイミング ................ 185
アウトプットコンペアのブロック
ダイヤグラム ..................................................179
アキュムレータ
アキュムレータ (A) ................................................ 35
アクセス
多バイト長データのアクセス ..............................32
低消費電力モード制御レジスタのアクセス
............................................................................92
アクセプタンスフィルタ
アクセプタンスフィルタの設定 ........................ 378
アクセプタンスフィルタリング
アクセプタンスフィルタリング ........................ 373
アクセプタンスマスク
アクセプタンスマスク選択レジスタ
(AMSR) ............................................................ 361
アクセプタンスマスクレジスタ 0/1
(AMR0/AMR1) ................................................363
アクセプタンスマスク選択レジスタ
アクセプタンスマスク選択レジスタ
(AMSR) ............................................................ 361
アクセプタンスマスクレジスタ 0/1
アクセプタンスマスクレジスタ 0/1
(AMR0/AMR1) ................................................363
アドレス一致検出機能
アドレス一致検出機能のシステム構成例 ........392
アドレス一致検出機能の動作 ............................391
アドレス一致検出機能のブロック
ダイヤグラム ..................................................388
アドレス指定
アドレス指定の方式 .............................................. 27
バンク方式によるアドレス指定 .......................... 30
アドレッシング
アドレッシング ....................................................454
間接アドレッシング ............................................ 463
直接アドレッシング ............................................ 456
アナログ入力許可レジスタ
アナログ入力許可レジスタ ................................238
アナログ入力許可レジスタ (ADER) .................. 152
アンダフロー動作
16 ビットリロードタイマの
アンダフロー動作 .......................................... 201
い
一時停止
フラッシュメモリのセクタ消去の
一時停止 .......................................................... 423
イベントカウント
16 ビットリロードタイマ ( イベントカウント
機能付き ) の概要 ...........................................192
外部イベントカウント ........................................ 200
518
インターバル割込み
タイムベースタイマのインターバル
割込み機能 ......................................................156
時計タイマのインターバル割込み機能 .............167
インテリジェント I/O サービス
EI2OS( 拡張インテリジェント I/O
サービス ) ........................................................281
インテリジェント I/O サービス (EI2OS) 機能と
割込み ..............................................................192
拡張インテリジェント I/O サービス
(EI2OS) .............................................................310
拡張インテリジェント I/O サービス (EI2OS) の
概要 ....................................................................64
拡張インテリジェント I/O サービス (EI2OS) の
構造 ....................................................................65
拡張インテリジェント I/O サービス (EI2OS) の
実行時間 ............................................................74
拡張インテリジェント I/O サービス (EI2OS) の
動作フロー ........................................................72
インプットキャプチャ
インプットキャプチャ .........................................186
インプットキャプチャ ( モジュールごとに
2 チャネル ) .....................................................170
インプットキャプチャ制御ステータスレジスタ
(ICS01) .............................................................187
インプットキャプチャ入力タイミング .............189
インプットキャプチャの取込み
タイミング例 ..................................................189
インプットキャプチャのブロック
ダイヤグラム ..................................................186
インプットキャプチャ制御ステータスレジスタ
インプットキャプチャ制御ステータスレジスタ
(ICS01) .............................................................187
インプットキャプチャデータレジスタ
インプットキャプチャデータレジスタ
(IPCP0/1) ..........................................................187
う
ウォッチドッグカウンタ
ウォッチドッグカウンタのクリア .....................161
ウォッチドッグカウンタの停止 .........................161
ウォッチドッグタイマ
ウォッチドッグタイマ制御レジスタ
(WDTC) ............................................................159
ウォッチドッグタイマの起動方法 .....................161
ウォッチドッグタイマの動作クロックの
設定 ..................................................................167
ウォッチドッグタイマのブロック
ダイヤグラム ..................................................158
ウォッチドッグタイマのリセット .....................161
ウォッチドッグタイマのレジスタ一覧 .............158
ウォッチドッグタイマ制御レジスタ
ウォッチドッグタイマ制御レジスタ
(WDTC) ............................................................159
お
応用例
UART0 の応用例 ...................................................282
オペランド
24 ビットオペランド指定 ......................................29
オペランド指定
24 ビットオペランド指定 ..................................... 29
か
外形寸法図
FPT-100P-M05 パッケージ外形寸法図 ..................7
FPT-100P-M06 パッケージ外形寸法図 ..................6
解除レジスタ
遅延割込み要因発生 / 解除レジスタ (DIRR)
..........................................................................225
外部アドレス出力制御レジスタ
外部アドレス出力制御レジスタ (HACR) ..........133
外部イベントカウント
外部イベントカウント ........................................ 200
外部クロック
内部クロックおよび外部クロック .................... 274
外部シフトクロック
外部シフトクロックモード ................................321
外部シフトクロックモード
外部シフトクロックモード ................................321
外部バス端子制御回路
外部メモリアクセス ( 外部バス端子
制御回路 ) ........................................................ 129
外部メモリアクセス
外部メモリアクセス ( 外部バス端子
制御回路 ) ........................................................ 129
外部メモリアクセス制御信号 ............................137
外部メモリアクセスのブロック
ダイヤグラム ..................................................129
外部メモリアクセスのレジスタ一覧 ................ 130
外部メモリアクセス制御信号
外部メモリアクセス制御信号 ............................137
外部割込み
DTP/ 外部割込みの概要 .......................................228
DTP/ 外部割込みの使用上の注意 .......................235
DTP/ 外部割込みのブロックダイヤグラム
..........................................................................228
DTP/ 外部割込みのレジスタ ............................... 229
DTP 要求と外部割込み要求の切換え ................ 234
外部割込みの動作 ................................................232
外部割込み要求
DTP 要求と外部割込み要求の切換え ................ 234
カウンタ
カウンタの動作状態 ............................................ 203
受信および送信エラーカウンタ (RTEC) ..........346
カウントクロック
8/16 ビット PPG のカウントクロックの
選択 .................................................................. 218
書込み
シリアル書込み接続例 ( ユーザ電源
使用時 ) ............................................................ 437
シリアル書込み接続例 ( ライタから
電源供給時 ) ....................................................439
入出力領域への書込み中のハードウェア割込み
要求 .................................................................... 55
フラッシュメモリ書込み / 消去の詳細説明
..........................................................................416
フラッシュメモリ書込み / 消去の方法 ............. 400
フラッシュメモリ書込み手順 ............................418
フラッシュメモリへのデータを書込み ............418
519
拡張インテリジェント I/O サービス
EI2OS( 拡張インテリジェント I/O
サービス ) ........................................................281
拡張インテリジェント I/O サービス
(EI2OS) .............................................................310
拡張インテリジェント I/O サービス (EI2OS) の
概要 ....................................................................64
拡張インテリジェント I/O サービス (EI2OS) の
構造 ....................................................................65
拡張インテリジェント I/O サービス (EI2OS) の
実行時間 ............................................................74
拡張インテリジェント I/O サービス (EI2OS) の
動作フロー ........................................................72
拡張インテリジェント I/O サービスディスクリプタ
拡張インテリジェント I/O サービス
ディスクリプタ (ISD) ......................................69
間欠動作
CPU 間欠動作 ........................................................110
CPU 間欠動作機能 ..................................................86
間接アドレッシング
間接アドレッシング .............................................463
き
擬似時計モード
擬似時計モードの解除 .........................................105
擬似時計モードへの遷移 .....................................105
起動方法
ウォッチドッグタイマの起動方法 .....................161
基本構成
シリアル書込み接続の基本構成 .........................434
く
クロック
16 ビットリロードタイマの
内部クロック動作 ..........................................199
16 ビットリロードタイマの入力端子機能
( 内部クロックモード時 ) ..............................199
PLL クロック逓倍機能 ..........................................88
PPG ユニット 0 クロック選択レジスタ
(PPG01) ............................................................214
UART1 のクロック選択 .......................................297
ウォッチドッグタイマの動作クロックの
設定 ..................................................................167
クロック選択の状態遷移 .......................................96
クロック選択レジスタ (CKSCR) ..........................93
クロック発生部の注意 ...........................................78
内部クロックおよび外部クロック .....................274
発振クロック周波数とシリアルクロック
入力周波数 ......................................................436
メインクロック発振安定待ち時間設定 ...............86
クロック選択
PPG ユニット 0 クロック選択レジスタ
(PPG01) ............................................................214
UART1 のクロック選択 .......................................297
クロック選択の状態遷移 .......................................96
クロック選択レジスタ (CKSCR) ..........................93
クロック選択レジスタ
PPG ユニット 0 クロック選択レジスタ
(PPG01) ............................................................214
クロック選択レジスタ (CKSCR) ..........................93
520
クロック発生部
クロック発生部の注意 .......................................... 78
クロックモード
16 ビットリロードタイマの入力端子機能
( 内部クロックモード時 ) ............................. 199
こ
コマンドシーケンス表
コマンドシーケンス表 ........................................ 406
コモンレジスタ
コモンレジスタバンクプリフィックス
(CMR) .................................................................44
コモンレジスタバンクプリフィックス
コモンレジスタバンクプリフィックス
(CMR) .................................................................44
コンディションコード
コンディションコードレジスタ (CCR) ............... 37
コンディションコードレジスタ
コンディションコードレジスタ (CCR) ............... 37
コンペアレジスタ
2 組のコンペアレジスタによる出力波形例
( 出力の初期値は 0 とする ) .........................184
アウトプットコンペアのコンペアレジスタ
(OCCP) .............................................................180
コンペアレジスタ 0, 1 を使用したときの出力
波形例 ( 出力の初期値は 0 とする ) ............184
コンペアレジスタ 0, 1
コンペアレジスタ 0, 1 を使用したときの出力
波形例 ( 出力の初期値は 0 とする ) ............184
し
システム構成例
アドレス一致検出機能のシステム構成例 ........392
システム構築例
UART1 の応用例 ( モード 1 使用時のシステム
構築例 ) ............................................................ 309
システムスタックポインタ
ユーザスタックポインタ (USP) と
システムスタックポインタ (SSP) .................. 36
実効アドレス
実効アドレスフィールド .................................... 472
実効アドレスフィールド
実効アドレスフィールド .................................... 455
実行サイクル
実行サイクル数 ....................................................470
実行サイクル数計算方法 .................................... 470
実行時間
拡張インテリジェント I/O サービス (EI2OS) の
実行時間 ............................................................ 74
自動
自動レディ機能選択レジスタ (ARSR) ..............131
シフト動作
シフト動作のスタート / ストップ
タイミング ......................................................324
受信
受信オーバラン ....................................................374
受信オーバランレジスタ (ROVRR) ...................359
受信および送信エラーカウンタ (RTEC) ..........346
受信メッセージの格納 ........................................ 373
受信オーバラン
受信オーバラン .....................................................374
受信オーバランレジスタ
受信オーバランレジスタ (ROVRR) ...................359
受信および送信エラーカウンタ
受信および送信エラーカウンタ (RTEC) ...........346
受信完了
受信完了 .................................................................375
受信完了レジスタ (RCR) .....................................357
受信完了レジスタ
受信完了レジスタ (RCR) .....................................357
受信動作
非同期 ( 調歩同期 ) モードの受信動作 ..............300
受信動作時
受信動作時 ( モード 0, モード 1, モード 3) の
フラグのセットタイミング ..........................278
受信動作時 ( モード 2) のフラグのセット
タイミング ......................................................279
受信フローチャート
CAN コントローラの受信フローチャート .......376
受信メッセージ
受信メッセージの格納 .........................................373
受信割込み
受信割込み許可レジスタ (RIER) ........................360
受信割込み許可レジスタ
受信割込み許可レジスタ (RIER) ........................360
出力端子
16 ビットリロードタイマの出力端子機能 ........202
出力波形例
2 組のコンペアレジスタによる出力波形例
( 出力の初期値は 0 とする ) ..........................184
コンペアレジスタ 0, 1 を使用したときの出力
波形例 ( 出力の初期値は 0 とする ) .............184
状態遷移図
低消費電力モード状態遷移図 (1 系統品 ) .........120
低消費電力モード状態遷移図 (2 系統品 ) .........115
初期化
リセット入力によって初期化されない
レジスタ ............................................................80
初期値
2 組のコンペアレジスタによる出力波形例
( 出力の初期値は 0 とする ) ..........................184
8/16 ビット PPG の各ハードウェアの
初期値 ..............................................................221
コンペアレジスタ 0, 1 を使用したときの出力
波形例 ( 出力の初期値は 0 とする ) .............184
シリアル
シリアル制御レジスタ 1(SCR1) .........................291
シリアルモード制御ステータスレジスタ
(SMCS) .............................................................314
シリアルモード制御レジスタ 0(UMC0) ............263
シリアル I/O
シリアル I/O の動作 .............................................320
シリアル I/O の動作状態 .....................................322
シリアル I/O のブロックダイヤグラム .............312
シリアル I/O のレジスタ .....................................313
シリアル I/O の割込み機能 .................................327
シリアル I/O プリスケーラ (SCDCR) ................319
シリアル I/O プリスケーラ
シリアル I/O プリスケーラ (SCDCR) ................319
シリアルアウトプットデータレジスタ
シリアルインプットデータレジスタ 0(UIDR0) と
シリアルアウトプットデータレジスタ
..........................................................................267
シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1
(SODR1) ...........................................................293
シリアルインプットデータレジスタ
シリアルインプットデータレジスタ 0(UIDR0) と
シリアルアウトプットデータレジスタ
..........................................................................267
シリアルインプットデータレジスタ 1(SIDR1)/
シリアルアウトプットデータレジスタ 1
(SODR1) ...........................................................293
シリアル書込み
シリアル書込み接続の基本構成 ........................ 434
シリアル書込み接続
シリアル書込み接続の基本構成 ........................ 434
シリアル書込み接続例
シリアル書込み接続例 ( ユーザ電源
使用時 ) ............................................................ 437
シリアル書込み接続例 ( ライタから
電源供給時 ) ....................................................439
シリアルクロック
発振クロック周波数とシリアルクロック
入力周波数 ......................................................436
シリアルクロック入力周波数
発振クロック周波数とシリアルクロック
入力周波数 ......................................................436
シリアルシフトデータレジスタ
シリアルシフトデータレジスタ (SDR) ............. 318
シリアルステータス
シリアルステータスレジスタ 0(USR0) ............. 265
シリアルステータスレジスタ
シリアルステータスレジスタ 0(USR0) ............. 265
シリアルステータスレジスタ 1
シリアルステータスレジスタ 1(SSR1) ..............294
シリアル制御レジスタ
シリアル制御レジスタ 1(SCR1) .........................291
シリアルモード制御ステータスレジスタ
シリアルモード制御ステータスレジスタ
(SMCS) .............................................................314
シリアルモード制御レジスタ
シリアルモード制御レジスタ 0(UMC0) ............263
シリアルモードレジスタ
シリアルモードレジスタ 1(SMR1) .................... 289
す
推奨設定
推奨設定 ................................................................ 128
スタート / ストップタイミング
シフト動作のスタート / ストップ
タイミング ......................................................324
スタック
スタック内へのレジスタの退避 .......................... 56
ステータスフラグ
送受信動作時のステータスフラグ .................... 281
ステータスレジスタ 0
A/D 制御ステータスレジスタ 0(ADCS0) ..........242
521
ストップタイミング
シフト動作のスタート / ストップ
タイミング ......................................................324
ストップモード
ストップモードの解除 .........................................107
ストップモードへの遷移 .....................................107
スリープモード
スリープモードの解除 .........................................104
スリープモードへの遷移 .....................................104
せ
制御
8/16 ビット PPG のパルスの端子出力の
制御 ..................................................................219
制御信号
フラッシュメモリの制御信号 .............................402
制御ステータスレジスタ
アウトプットコンペアの制御ステータスレジスタ
(OCS0/1) ...........................................................181
製品概要
MB90540/545 シリーズの製品概要 ........................2
セクタ構成
1M/2M ビットフラッシュメモリの
セクタ構成 ......................................................401
セクタ消去
セクタ消去タイマフラグ (DQ3) .........................413
フラッシュメモリのセクタ消去の
一時停止 ..........................................................423
フラッシュメモリのセクタ消去の再開 .............424
フラッシュメモリの任意データの消去
( セクタ消去 ) ..................................................421
セクタ消去タイマフラグ
セクタ消去タイマフラグ (DQ3) .........................413
セクタ消去手順
フラッシュメモリのセクタ消去手順 .................421
接続例
フラッシュマイコンプログラマとの最小限の
接続例 ( ライタから電源供給時 ) .................443
セットタイミング
6 つのフラグのセットタイミング ......................277
UART1 の割込みとフラグのセット
タイミング ......................................................305
受信動作時 ( モード 0, モード 1, モード 3) の
フラグのセットタイミング ..........................278
受信動作時 ( モード 2) のフラグのセット
タイミング ......................................................279
送信動作時のフラグのセットタイミング .........280
遷移条件
低消費電力モードの遷移条件 .............................111
全体制御
全体制御レジスタ .........................................332, 338
全体制御レジスタ
全体制御レジスタ .........................................332, 338
専用レジスタ
専用レジスタ ...........................................................33
そ
送受信動作時
送受信動作時のステータスフラグ .....................281
522
送信
送信 RTR レジスタ (TRTRR) ..............................352
送信 RTR レジスタ
送信 RTR レジスタ (TRTRR) ..............................352
送信解除
送信解除レジスタ (TCANR) ............................... 354
送信解除レジスタ
送信解除レジスタ (TCANR) ............................... 354
送信完了
送信完了レジスタ (TCR) .....................................355
送信完了レジスタ
送信完了レジスタ (TCR) .....................................355
送信動作
非同期 ( 調歩同期 ) モードの送信動作 ..............301
送信動作時
送信動作時のフラグのセットタイミング ........280
送信フローチャート
CAN コントローラの送信フローチャート ....... 372
送信要求
CAN コントローラの送信要求の解除 ............... 371
送信要求レジスタ (TREQR) ................................351
送信要求レジスタ
送信要求レジスタ (TREQR) ................................351
送信割込み
送信割込み許可レジスタ (TIER) ........................ 356
送信割込み許可レジスタ
送信割込み許可レジスタ (TIER) ........................ 356
その他モード
その他モード ........................................................ 402
ソフトウェア割込み
ソフトウェア割込みに関する注意事項 ..............63
ソフトウェア割込みの概要 ..................................62
ソフトウェア割込みの構造 ..................................62
ソフトウェア割込みの動作 ..................................63
た
タイマ
16 ビット入出力タイマの
ブロックダイヤグラム ..................................171
16 ビット入出力タイマのレジスタ ...................172
16 ビットリロードタイマ ( イベントカウント
機能付き ) の概要 ...........................................192
16 ビットリロードタイマの
アンダフロー動作 .......................................... 201
16 ビットリロードタイマの出力端子機能 ....... 202
16 ビットリロードタイマの端子名 ...................193
16 ビットリロードタイマの
内部クロック動作 .......................................... 199
16 ビットリロードタイマの入力端子機能
( 内部クロックモード時 ) ............................. 199
16 ビットリロードタイマのブロック
ダイヤグラム ..................................................192
16 ビットリロードタイマのレジスタ ............... 194
タイマ制御ステータスレジスタ (TMCSR) ....... 195
時計タイマ ............................................................ 167
時計タイマ制御レジスタ (WTC) ........................ 165
時計タイマのインターバル割込み機能 ............167
時計タイマのブロックダイヤグラム ................ 164
時計タイマのレジスタ ........................................ 164
タイマカウンタ
タイマカウンタ制御ステータスレジスタ
(TCCS) ..............................................................175
タイマカウンタ制御ステータスレジスタ
タイマカウンタ制御ステータスレジスタ
(TCCS) ..............................................................175
タイマカウンタデータレジスタ
タイマカウンタデータレジスタ (TCDT) ..........174
タイマレジスタ
16 ビットタイマレジスタ (TMR)/16 ビット
リロードレジスタ (TMRLR) .........................198
タイミング
16 ビットフリーランタイマのタイミング ........178
アウトプットコンペアのタイミング .................185
インプットキャプチャ入力タイミング .............189
インプットキャプチャの取込み
タイミング例 ..................................................189
タイミングリミット超過フラグ
タイミングリミット超過フラグ (DQ5) .............412
タイムベースタイマ
タイムベースタイマ .............................................156
タイムベースタイマ制御レジスタ (TBTC)
..........................................................................155
タイムベースタイマのインターバル
割込み機能 ......................................................156
タイムベースタイマのブロック
ダイヤグラム ..................................................154
タイムベースタイマのレジスタ一覧 .................154
タイムベースタイマ制御レジスタ
タイムベースタイマ制御レジスタ (TBTC) .......155
多重割込み
多重割込み ...............................................................56
多バイト長データ
多バイト長データのアクセス ...............................32
メモリ空間における多バイト長データの配置
............................................................................32
端子機能
端子機能説明 ...........................................................10
端子機能説明
端子機能説明 ...........................................................10
端子出力
8/16 ビット PPG のパルスの端子出力の
制御 ..................................................................219
端子配列図
FPT-100P-M05 端子配列図 ......................................9
FPT-100P-M06 端子配列図 ......................................8
単発モード
単発モード .............................................................250
単発モード時の EI2OS の起動例 ........................253
ち
遅延割込み
遅延割込みのブロックダイヤグラム .................224
遅延割込み発生 .....................................................226
遅延割込み要因発生 / 解除レジスタ (DIRR)
..........................................................................225
遅延割込み要求ロックの使用上の注意 .............224
遅延割込み要因発生 / 解除
遅延割込み要因発生 / 解除レジスタ (DIRR)
..........................................................................225
遅延割込み要求ロック
遅延割込み要求ロックの使用上の注意 ............224
チップ消去
フラッシュメモリの全データの消去
( チップ消去 ) ................................................. 420
注意事項
ソフトウェア割込みに関する注意事項 ..............63
注意事項の回避について ...................................... 48
デバイスの取扱いに関する注意事項 .................. 20
調歩同期
非同期 ( 調歩同期 ) モードの受信動作 ..............300
非同期 ( 調歩同期 ) モードの送信動作 ..............301
非同期 ( 調歩同期 ) モードの転送データ
フォーマット ..................................................300
直接アドレッシング
直接アドレッシング ............................................ 456
つ
通信フローチャート
UART1 の通信フローチャート .......................... 309
て
停止モード
停止モード ............................................................ 251
停止モード時の EI2OS の起動例 ........................ 255
低消費電力制御回路
低消費電力制御回路の動作モード ...................... 86
低消費電力制御回路のブロック
ダイヤグラム ....................................................89
低消費電力制御回路のレジスタ .......................... 90
低消費電力モード
低消費電力モード ................................................100
低消費電力モード状態遷移図 (1 系統品 ) ......... 120
低消費電力モード状態遷移図 (2 系統品 ) ......... 115
低消費電力モード制御レジスタ (LPMCR) ......... 91
低消費電力モード制御レジスタのアクセス
............................................................................92
低消費電力モード動作状態 ................................102
低消費電力モードの遷移条件 ............................111
低消費電力モード制御レジスタ
低消費電力モード制御レジスタ (LPMCR) ......... 91
低消費電力モード制御レジスタのアクセス
............................................................................92
低電力
低電力モードの設定 ............................................ 378
低電力モード
低電力モードの設定 ............................................ 378
データカウンタ
データカウンタ (DCT) ...........................................69
データフレーム
データフレームおよびリモートフレームの受信に
対する処理 ......................................................374
データポーリングフラグ
データポーリングフラグ (DQ7) .........................409
データレジスタ
A/D データレジスタ 0/1(ADCR0, ADCR1) ....... 248
データレジスタ x(x=0 ∼ 15)(DTRx) .................. 369
ポートデータレジスタ (PDR0 ∼ PDRA) ..........146
メッセージバッファ ( データレジスタ ) の
一覧 .................................................................. 337
523
レート・データレジスタ 0(URD0) ....................268
データレジスタ x
データレジスタ x(x=0 ∼ 15)(DTRx) ..................369
デバイス
デバイスの取扱いに関する注意事項 ...................20
デバイスの取扱
デバイスの取扱いに関する注意事項 ...................20
電源供給時
フラッシュマイコンプログラマとの最小限の
接続例 ( ライタから電源供給時 ) .................443
転送データ
CLK 同期モードの転送データ
フォーマット ..................................................302
転送データフォーマット .....................................275
非同期 ( 調歩同期 ) モードの転送データ
フォーマット ..................................................300
転送データフォーマット
CLK 同期モードの転送データ
フォーマット ..................................................302
転送データフォーマット .....................................275
非同期 ( 調歩同期 ) モードの転送データ
フォーマット ..................................................300
と
動作クロック
ウォッチドッグタイマの動作クロックの
設定 ..................................................................167
動作状態
低消費電力モード動作状態 .................................102
動作フロー
拡張インテリジェント I/O サービス (EI2OS) の
動作フロー ........................................................72
ハードウェア割込みの動作フロー .......................59
動作モード
8/16 ビット PPG の動作モード ...........................216
UART0 の動作モード ...........................................270
UART1 の動作モード ...........................................297
低消費電力制御回路の動作モード .......................86
特長
A/D コンバータの特長 .........................................238
CAN コントローラの特長 ...................................330
UART0 の特長 .......................................................260
UART1 の特長 .......................................................286
特長 .............................................................................3
フラッシュセキュリティの特長 .........................426
トグルビット 2 フラグ
トグルビット 2 フラグ (DQ2) .............................414
トグルビットフラグ
トグルビットフラグ (DQ6) .................................411
時計タイマ
時計タイマ .............................................................167
時計タイマ制御レジスタ (WTC) ........................165
時計タイマのインターバル割込み機能 .............167
時計タイマのブロックダイヤグラム .................164
時計タイマのレジスタ .........................................164
時計タイマ制御レジスタ
時計タイマ制御レジスタ (WTC) ........................165
時計モード
時計モードの解除 .................................................106
時計モードへの遷移 .............................................106
524
な
内部クロック
16 ビットリロードタイマの
内部クロック動作 .......................................... 199
16 ビットリロードタイマの入力端子機能
( 内部クロックモード時 ) ............................. 199
内部クロックおよび外部クロック .................... 274
内部クロックモード
16 ビットリロードタイマの入力端子機能
( 内部クロックモード時 ) ............................. 199
内部シフトクロック
内部シフトクロックモード ................................321
内部シフトクロックモード
内部シフトクロックモード ................................321
に
入出力回路形式
入出力回路形式 ......................................................17
入出力タイマ
16 ビット入出力タイマのブロック
ダイヤグラム ..................................................171
16 ビット入出力タイマのレジスタ ...................172
入出力領域
入出力領域への書込み中のハードウェア割込み
要求 .................................................................... 55
入出力領域への書込み
入出力領域への書込み中のハードウェア割込み
要求 .................................................................... 55
入力インピーダンス
入力インピーダンス ............................................ 239
入力タイミング
インプットキャプチャ入力タイミング ............189
入力端子
16 ビットリロードタイマの入力端子機能
( 内部クロックモード時 ) ............................. 199
ね
ネガティブクロック動作
ネガティブクロック動作 ............................308, 328
は
ハードウェアシーケンスフラグ
ハードウェアシーケンスフラグ ........................ 407
ハードウェアスタンバイモード
ハードウェアスタンバイモードの解除 ............109
ハードウェアスタンバイモードへの遷移 ........109
ハードウェア割込み
入出力領域への書込み中のハードウェア割込み
要求 .................................................................... 55
ハードウェア割込みの概要 ..................................55
ハードウェア割込みの構造 ..................................55
ハードウェア割込みの動作 ..................................57
ハードウェア割込みの動作フロー ...................... 59
バス
バス動作停止間の状態 (HALT= 1 ) .................... 343
バス動作停止を解除する条件 (HALT= 0 ) ........342
バス動作停止をセットする条件 (HALT= 1 )
..........................................................................342
バス制御信号選択レジスタ
バス制御信号選択レジスタ (ECSR) ...................134
バス動作停止
バス動作停止を解除する条件 (HALT= 0 ) ........342
バス動作停止をセットする条件 (HALT= 1 )
..........................................................................342
バス動作停止間
バス動作停止間の状態 (HALT= 1 ) ....................343
バスモード
バスモード別メモリ空間 .....................................127
発振安定待ち
メインクロック発振安定待ち時間設定 ...............86
発振安定待ち時間
メインクロック発振安定待ち時間設定 ...............86
発振クロック周波数
発振クロック周波数とシリアルクロック
入力周波数 ......................................................436
バッファアドレスポインタ
バッファアドレスポインタ (BAP) .......................71
パリティビット
パリティビット .....................................................276
パルス
8/16 ビット PPG のパルスの端子出力の
制御 ..................................................................219
パルス幅
8/16 ビット PPG のリロード値とパルス幅の
関係 ..................................................................217
バンクセレクトプリフィックス
バンクセレクトプリフィックス ...........................43
バンク方式
バンク方式によるアドレス指定 ...........................30
汎用レジスタ
汎用レジスタ ...........................................................34
ひ
ビット
ビットタイミングの設定 .....................................377
ビットタイミングレジスタ (BTR) .....................347
ビットタイミング
ビットタイミングの設定 .....................................377
ビットタイミングレジスタ
ビットタイミングレジスタ (BTR) .....................347
非同期
CLK 非同期ボーレート ........................................271
非同期 ( 調歩同期 ) モードの受信動作 ..............300
非同期 ( 調歩同期 ) モードの送信動作 ..............301
非同期 ( 調歩同期 ) モードの転送データ
フォーマット ..................................................300
ふ
フラグ
6 つのフラグのセットタイミング ......................277
UART1 のフラグ ...................................................304
UART1 の割込みとフラグのセット
タイミング ......................................................305
受信動作時 ( モード 0, モード 1, モード 3) の
フラグのセットタイミング ..........................278
受信動作時 ( モード 2) のフラグのセット
タイミング ......................................................279
送信動作時のフラグのセットタイミング ........280
フラグ変化抑止
フラグ変化抑止プリフィックス (NCC) ..............44
フラグ変化抑止プリフィックス
フラグ変化抑止プリフィックス (NCC) ..............44
フラッシュセキュリティ
フラッシュセキュリティの特長 ........................ 426
フラッシュマイコンプログラマ
フラッシュマイコンプログラマとの最小限の
接続例 ( ユーザ電源使用時 ) ........................ 441
フラッシュマイコンプログラマとの最小限の
接続例 ( ライタから電源供給時 ) ................ 443
フラッシュメモリ
1M/2M ビットフラッシュメモリの
セクタ構成 ......................................................401
1M/2M ビットフラッシュメモリの特長 ........... 400
1M/2M ビットフラッシュメモリの
プログラム例 ..................................................427
フラッシュメモリ書込み / 消去の詳細説明
..........................................................................416
フラッシュメモリ書込み / 消去の方法 ............. 400
フラッシュメモリ書込み手順 ............................418
フラッシュメモリ使用上の注意 ........................ 425
フラッシュメモリ制御ステータスレジスタ
(FMCS) .............................................................404
フラッシュメモリの制御信号 ............................402
フラッシュメモリのセクタ消去手順 ................ 421
フラッシュメモリのセクタ消去の
一時停止 .......................................................... 423
フラッシュメモリのセクタ消去の再開 ............424
フラッシュメモリの全データの消去
( チップ消去 ) ................................................. 420
フラッシュメモリの任意データの消去
( セクタ消去 ) ................................................. 421
フラッシュメモリの読出し / リセット状態
..........................................................................417
フラッシュメモリのレジスタ ............................400
フラッシュメモリへのデータを書込み ............418
フラッシュメモリモード .................................... 402
フラッシュメモリ制御ステータスレジスタ
フラッシュメモリ制御ステータスレジスタ
(FMCS) .............................................................404
フラッシュメモリのレジスタ
フラッシュメモリのレジスタ ............................400
フラッシュメモリモード
フラッシュメモリモード .................................... 402
フリーランタイマ
16 ビットフリーランタイマ ............................... 170
16 ビットフリーランタイマのタイミング ....... 178
16 ビットフリーランタイマの動作 ...................177
16 ビットフリーランタイマのブロック
ダイヤグラム ..................................................173
プリフィックス
フラグ変化抑止プリフィックス (NCC) ..............44
割込み抑止命令とプリフィックス命令に関する
制約 .................................................................... 45
プリフィックスコード
プリフィックスコードが連続している場合 ...... 46
プリフィックス命令
割込み抑止命令とプリフィックス命令に関する
制約 .................................................................... 45
525
プルアップ制御レジスタ
プルアップ制御レジスタ (PUCR0 ∼
PUCR3) .............................................................150
プルアップ制御レジスタ (PUCR0 ∼ PUCR3) の
ブロックダイヤグラム ..................................151
フレーム
フレームフォーマットの設定 .............................377
フレームフォーマット
フレームフォーマットの設定 .............................377
プログラマ
フラッシュマイコンプログラマとの最小限の
接続例 ( ライタから電源供給時 ) .................443
プログラム
プログラムアドレス検出制御ステータスレジスタ
(PACSR) ...........................................................389
プログラムアドレス検出制御ステータスレジスタ
プログラムアドレス検出制御ステータスレジスタ
(PACSR) ...........................................................389
プログラムアドレス検出レジスタ 0/1
プログラムアドレス検出レジスタ 0/1
(PADR0/PADR1) .............................................389
プログラムカウンタ
プログラムカウンタ (PC) ......................................40
プログラムパッチ
プログラムパッチ処理フロー図 .........................394
プログラムパッチ処理例 .....................................393
プログラムパッチ処理フロー
プログラムパッチ処理フロー図 .........................394
プログラムパッチ処理例
プログラムパッチ処理例 .....................................393
プログラム例
1M/2M ビットフラッシュメモリの
プログラム例 ..................................................427
プロセッサステータス
プロセッサステータス (PS) ..................................37
ブロックダイヤグラム
16 ビット入出力タイマの
ブロックダイヤグラム ..................................171
16 ビットフリーランタイマのブロック
ダイヤグラム ..................................................173
16 ビットリロードタイマのブロック
ダイヤグラム ..................................................192
8/16 ビット PPG のブロックダイヤグラム .......207
A/D コンバータのブロックダイヤグラム .........240
CAN コントローラのブロック
ダイヤグラム ..................................................331
DTP/ 外部割込みのブロックダイヤグラム .......228
ROM ミラー機能選択モジュールのブロック
ダイヤグラム ..................................................396
UART0 のブロックダイヤグラム .......................261
UART1 のブロックダイヤグラム .......................287
アウトプットコンペアのブロック
ダイヤグラム ..................................................179
アドレス一致検出機能のブロック
ダイヤグラム ..................................................388
インプットキャプチャのブロック
ダイヤグラム ..................................................186
ウォッチドッグタイマのブロック
ダイヤグラム ..................................................158
外部メモリアクセスのブロック
ダイヤグラム ..................................................129
シリアル I/O のブロックダイヤグラム .............312
526
タイムベースタイマのブロック
ダイヤグラム ..................................................154
遅延割込みのブロックダイヤグラム ................ 224
低消費電力制御回路のブロック
ダイヤグラム ....................................................89
時計タイマのブロックダイヤグラム ................ 164
プルアップ制御レジスタ (PUCR0 ∼ PUCR3) の
ブロックダイヤグラム ..................................151
ブロックダイヤグラム ............................................ 5
へ
変換
変換データ保護機能 ............................................ 256
変換データ保護機能の使用上の注意 ................ 257
変換データ保護機能のフロー例
(EI2OS の場合 ) ............................................... 257
変換データ保護機能
変換データ保護機能 ............................................ 256
変換データ保護機能の使用上の注意 ................ 257
変換データ保護機能のフロー例
(EI2OS の場合 ) ............................................... 257
ほ
ポートデータレジスタ
ポートデータレジスタ (PDR0 ∼ PDRA) ..........146
ポート方向レジスタ
ポート方向レジスタ (DDR0 ∼ DDRA) ............. 148
ホールド機能
ホールド機