特 徴

用 途・ ｎＲＦ２４０１ ２．４ＧＨｚ 高周波トランシーバ

・ 無線ゲームパッド

・ ８０５１ 互換マイクロコントローラ

・ 無線ヘッドセット

・ ｎＲＦ２４Ｅ２と互換

・ 無線キーボード

・ ９入力 １０ビット １００ｋＳＰＳ ＡＤＣ・ 無線マウス・ １．９Ｖから３．６Ｖの単電源

・ 無線玩具・ 電圧レギュレータ内蔵

・ インテリジェントスポーツ用具

・ タイマまたは外部ピンで起動する、２μＡの待機・ 工業用センサ

モード

・ ＰＣ 周辺機器

・ ＶＤＤモニタ機能内蔵

・ 電話周辺機器・ ３６ピン ＱＦＮ（６ｘ６ｍｍ）パッケージ・ タグ

・ ０．１８μｍ ＣＭＯＳ テクノロジ

・ アラーム・ マスクバージョンも有ります・ リモコン・ 少ない部品点数
・ やさしい設計

目次
１ 概要

４

１．１ データ早見表

４

１．２ ブロック図

５

１．３ ピン配置図

６１．４ 用語集

８

２ アーキテクチャの概観

９９２．１ マイクロコントローラ
２．２ ＰＷＭ

１１

２．３ ＳＰＩ

１１

２．４ ポートロジック

１１

２．５ 電源管理

１１

２．６

１１

ＲＴＣウェイクアップタイマ、ウォッチドッグタイマとＲＣ発振器

２．７ 水晶発振器

１２

２．８ ＡＤコンバータ

１２

２．９ 無線トランシーバ

１２
１４

３ Ｉ／Ｏポート
３．１ リセットの間のＩ／Ｏポートの振る舞い

１４

３．２ ポート０ （Ｐ０）１４

３．３ ポート１ （Ｐ１ または ＳＰＩ ポート）

１６

４ ｎＲＦ２４０１ ２．４ＧＨｚ トランシーバサブシステム

２０

４．１ 無線ポート （ポート２）

２０

４．２ 動作モ−ド

２２

４．３ 素子の設定

２８４．４ データパッケージの説明

４０

４．５ 重要な高周波タイミングのデータ

４２
４７

５ Ａ／Ｄコンバータ
５．１ Ａ／Ｄコンバータサブシステムのブロック図

４８

５．２ Ａ／Ｄコンバータのレジスタ

４８

５．３ Ａ／Ｄコンバータの使用法

５０

５．４ Ａ／Ｄコンバータのタイミング

５２

５．５ アナログインタフェースのガイドライン

５３

６ ＰＷＭ

５４

７ 割り込み５５

７．１ 割り込みＳＦＲ

５５

７．２ 割り込みの過程

５８2

７．３ 割り込みのマスク

５９

７．４ 割り込みの優先順位

５９

７．５ 割り込みのサンプリング

６０

７．６ 割り込みの潜伏期間

６０

７．７ パワダウンモードからの割り込みの潜伏期間

６０

７．８ シングルステップ動作

６０
６１

８ ウェイクアップタイマとウォッチドッグ
８．１ チックの校正

６１

８．２ ＲＴＣウェイクアップタイマ

６２

８．３ ウォッチドッグ

６２

８．４ リセット

６４
６５

９ 省電力モード
９．１ アイドルモード

６５

９．２ ストップモード

６６

９．３ パワダウンモード

６６

１０ マイクロコントローラ

６８

１０．１ メモリ環境

６８

１０．２

６９

外部ＥＥＰＲＯＭのプログラムフォーマット

１０．３ 命令セット

７０

１０．４ 命令タイミング

７７

１０．５ 二組のデータポインタ

７７

１０．６ 特別機能レジスタ７８

１０．７ ｎＲＦ２４Ｅ１に特有のＳＦＲレジスタ８２

１０．８ タイマ／カウンタ

８４

１０．９ シリアルインタフェイス

９２

１１ 電気的仕様

１０２

１２ パッケージ外形図

１０４

１２．１ グリーンパッケージの外形

１０４

１２．２

１０５

ソータイプの外形

１３ 絶対最大定格

１０６

１４ 高周波周辺情報

１０８

１４．２

プリント基板の配置とデカップリングのガイドライン

１１０

１５ 適用例
１５．１

１０９

シングルエンドのマッチングネットワークを持ったｎＲＦ２４Ｅ１

１１０
１１２

１５．２ プリント基板の配置例
１６ 図の一覧

１１３

１７ 表の一覧

１１４

１８ 重要な注意事項

１１６
3

4

１． 概要ｎＲＦ２４Ｅ１は組み込み８０５１と互換のマイクロコントローラと、１０ビット９入力 １００ｋＳＰＳのＡＤコンバータを持った２．４ＧＨｚ無線トランシーバです。回路には１．９Ｖから３．６Ｖの範囲の単一電圧が供給されるだけです。ｎＲＦ２４Ｅ１はｎＲＦ２４０１のＳｈｏｃｋＢｕｒｓｔ（ＴＭ）とＤｕｏＣｅｉｖｅｒ（ＴＭ）といった特有の先進的なモードをサポートしています。
ｎＲＦ２４Ｅ１はｎＲＦ２４Ｅ２チップの上位互換で、ｎＲＦ２４Ｅ２の全ての機能を含んでいることを意味し、プログラムも全てｎＲＦ２４Ｅ２と互換です。

１．１

データ早見表

表 １−１ ： ｎＲＦ２４Ｅ１ データ早見表

表 １−２ ： ｎＲＦ２４Ｅ１ 発注情報

5

１．２

ブロック図

図 １−１ ： ｎＲＦ２４Ｅ１のブロック図と外付け部品

6

１．３

ピン配置図

7

表 １−３ ： ｎＲＦ２４Ｅ１のピンの機能

8

１．４

用語集

9

２． アーキテクチャの概観
この章では図１−１のブロック図のそれぞれのブロックについて簡単に見てみましょう。

２．１ マイクロコントローラ
ｎＲＦ２４Ｅ１マイクロコントローラは業界標準の８０５１と命令セットが互換です。
命令タイミングは業界標準と少し異なり、「標準」の１２から４８に対し、代表的な命令は４ないし２０クロックを使用します。割り込みコントローラは、ＡＤＣ・ＳＰＩ・高周波受信１・高周波受信２、そしてウェイクアップタイマの５つの追加された割り込み源をサポートするよう、拡張されています。マイクロコントローラ核には、いくつかの拡張がプラスされた、８０５２互換の３組のタイマも有ります。タイマ１またはタイマ２を使ってボーレートを作ることができる、伝統的な非同期モードの８０５１互換のＵＡＲＴが含まれています。
ＣＰＵは一般の８０５１を拡張した、ＸＲＡＭエリアのデータを容易に移動する、２組のデータポインタを備えています。マイクロコントローラのクロックは水晶発振器から直接引き出されます。

２．１．１ メモリ環境
マイクロコントローラは２５６バイトのデータＲＡＭを持っています（８０５２互換の、上位半分はレジスタ間接
アドレッシングだけできる）。５１２バイトの小さなＲＯＭはパワオンリセット後や、後にソフトウェアによって初期化されたときに自動的に実行されるブートストラップローダを含んでいます。ユーザプログラムは普通、外部
シリアルＥＥＰＲＯＭからブートストラップローダによって４ｋバイトのＲＡＭに読み込まれます。４ｋバイトＲＡＭ
は（一部分は）アプリケーションのデータ保管場所として用いることができます。

注）オプションで４ｋのメモリは２ｋマスクＲＯＭと２ｋＲＡＭに、あるいは４ｋマスクＲＯＭに設定できます。

２．１．２ 起動ＥＥＰＲＯＭ／ＦＬＡＳＨ
マスクＲＯＭオプションを使用しない場合、装置のプログラムコードは外部の非揮発性メモリから読み込まれなければなりません。既定のブートローダは、これにＳＰＩインタフェースの「汎用２５３２０」ＥＥＰＲＯＭを想定しています。これらのメモリは、最低供給電圧が１．８Ｖまでのものがいくつかの業者からでています。ＳＰＩ
インタフェースはＰ１．２／ＤＩＮ０（ＥＥＰＲＯＭ ＳＤＯ）・Ｐ１．０／ＤＩＯ０（ＥＥＰＲＯＭ ＳＣＫ）・Ｐ１．１／ＤＩＯ１（Ｅ
ＥＰＲＯＭ ＳＤＩ）・Ｐ０．０／ＤＩＯ２（ＥＥＰＲＯＭ ＣＳＮ）のピンを使用します。ブートが完了したとき、Ｐ１．２／ＤＩ
Ｎ０・Ｐ１．０／ＤＩＯ０・Ｐ１．１／ＤＩＯ１ピンは他のＳＰＩ装置やＧＰＩＯのために使用することができます。

２．１．３ レジスタマップ
ＳＦＲ（特別機能レジスタ）はｎＲＦ２４Ｅ１のいくつかの機能を制御します。ｎＲＦ２４Ｅ１のＳＦＲの大半は標準の８０５１のＳＦＲと同一です。しかし、標準の８０５１には存在しない機能を制御する、追加されたＳＦＲがあります。

10

ＳＦＲマップを下の表に示します。背景が灰色のレジスタは業界標準の８０５１のレジスタの動作をします。
Ｐ１とＰ２の機能は、慣習的なアドレス（０ｘ８０，０ｘ９０）が使われているにもかかわらず、「標準」と幾分異なることに注意してください。

11表 ２−１ ： ＳＦＲレジスタマップ

２．２ ＰＷＭ
ｎＲＦ２４Ｅ１はＤＩＯ９ピンのＰＯ．７の代替え機能で、プログラム可能なＰＷＭ出力が一つあります。ＰＷＭの分解能はソフトウェアで６,７,８ビットにプログラムできます。ＰＷＭ信号の周波数は水晶発振器から６ビットのプリスケーラを介し、プログラム可能です。デューティサイクルは８ビットレジスタを介し、０％から１００％の間プログラム可能です。

２．３ ＳＰＩｎＲＦ２４Ｅ１は単純な単一のバッファされたＳＰＩマスタを特色としています。３本のＳＰＩバス（ＳＤＩ，ＳＣＫ，Ｓ
ＤＯ）は、（ＳＰＩ̲ＣＴＲＬレジスタに書くことによって）ＧＰＩＯピン（Ｐ１．２／ＤＩＮ０，Ｐ１．０／ＤＩＯ０，Ｐ１．１／ＤＩＯ
１）と高周波トランシーバと多重化されています。ＳＰＩハードウェアはいかなるチップセレクト信号も作りません。
プログラマは外部の１つまたは複数のＳＰＩ装置のチップを選択するため、主にＧＰＩＯビット（Ｐ０ポートからの）を使用します。
ＳＰＩが高周波トランシーバに接続されているとき、チップセレクトは内部のＧＰＩＯポート、Ｐ２になります。

12

２．４ ポートロジック
素子は一つの汎用入力と１０の汎用双方向ピンを持っています。これらは既定でＧＰＩＯに配置されており、
マイクロコントローラのＰ０ポート（ＤＩＯ２からＤＩＯ９）とＰ１（ＤＩＯ０，ＤＩＯ１，ＤＩＮ０）によって制御されます。
ほとんどのＧＰＩＯピンはプログラム制御により多目的に使うことができます。切り替え機能は２組の外部割
り込み・ＵＡＲＴのＲＸＤとＴＸＤ・ＳＰＩマスタポート・タイマのための３つの可能/計数信号、そしてＰＷＭ出力を含んでいます。

２．５ 電源管理
ｎＲＦ２４Ｅ１はプログラム制御でパワダウンモードにすることができ、同様にＡＤＣとＲＦサブモジュールもプ
ログラム制御でオン・オフすることができます。ＣＰＵは停止しますが、全てのＲＡＭとレジスタはその値を保持します。低電力のＲＣ発振器は動き続け、そしてウォッチドッグとＲＴＣウェイクアップタイマ（ソフトで有効にしていれば）も同様です。このモードでの消費電流は代表値で２μＡです。
素子は、有効になっていれば外部ピン割り込み（ＩＮＴ０̲ＮまたはＩＮＴ１̲Ｎ）・ウェイクアップタイマ、またはウォッチドッグリセットでパワダウンモードから抜け出ることができます。

２．６ ＲＴＣウェイクアップタイマ・ウォッチドッグタイマとＲＣ発振器
ｎＲＦ２４Ｅ１は機能を停止することができない低電力のＲＣ発振器を含んでおり、ＶＤＤ≧１．８Ｖの間動作し続けます。
ＲＴＣウェイクアップタイマとウォッチドッグはＲＣ発信機ＬＰ̲ＯＳＣクロックで動作する二つの１６ビットのプログラム可能なタイマです。ウォッチドッグとウェイクアップタイマの分解能は約３００μｓから８０ｍｓの間でプログラムできます。既定では分解能は１０ｍｓです。ウェイクアップタイマはユーザのソフトウェアで開始、停止できます。ウォッチドッグはリセット後は動作しませんが、一度動作させると、他のリセットを除き、動作を止めることはできません。

２．７ 水晶発振器
マイクロコントローラ・ＡＤＣと高周波フロントエンドは、水晶発振器が発生させたクロック上で動作します。
水晶の周波数は４から２０ＭＨｚまで使えるでしょうが、総合的な性能から、１６ＭＨｚがお勧めです。詳しくは９１ページの水晶の仕様を見てください。発信器はソフトの要求で、開始･停止することができます。

２．８

ＡＤコンバータｎＲＦ２４Ｅ１のＡＤコンバータは１０ビットのダイナミックレンジと直線性で、１０ビットの結果ごとに４８ＣＰＵ命
令サイクルの変換時間です。
ＡＤコンバータのリファレンスはソフトで、ＡＲＥＦ入力と内部の１．２２Ｖバンドギャップリファレンスを選択でき
13

ます。
コンバータにはソフトで選択できる９組の入力があります。入力０から７のうち選ばれたひとつは、対応する
ＡＩＮ０からＡＩＮ７ピンの電圧を変換します。
入力８は、１．２２Ｖ内部リファレンスを選択された、ＶＤＤ／３の内部入力を変換することにより、ｎＲＦ２４Ｅ１の供給電圧を監視することができます。
ＡＤコンバータは主にスタート／ストップモードで使用されます。サンプリング時間はソフトの下で制御されます。
コンバータは既定で１０ビットに設定されています。特別な要求で、ＡＤコンバータは６・８・１２ビット変換を行うよう設定できます。コンバータは AIN0 を反転入力、他の７つの外部入力の１つを非反転入力として、差動モードとしても使うことができます。この場合、変換時間は約２us に短縮できます。

２．９ 無線トランシーバ
回路のトランシーバ部分はｎＲＦ２４０１単一チップ無線トランシーバと同一の機能を持っています。これは内部のパラレルポートと／または内部のＳＰＩを通してアクセスされます。それぞれのＤｕｏＣｅｉｖｅｒＴＭ受信機の出力するｄａｔａ ｒｅａｄｙ信号は、マイクロコントローラへの割り込みとしてプログラムするか、あるいはＧＰＩＯ
ポート経由で獲得することができます。
ｎＲＦ２４０１は世界的な２．４−２．５ＧＨｚＩＳＭバンドの無線トランシーバです。トランシーバは完全に統合された周波数シンセサイザ、電力増幅器、変調器、および２組の受信機ユニットからなります。出力電力と周波数チャンネルと他の高周波パラメータは、無線レジスタＳＦＲ ０ｘＡ０を使うことで、簡単にプログラムできます。
高周波消費電流は、送信モード（出力電力 −５ｄＢｍ）で１０．５ｍＡ、受信モードで１８ｍＡだけです。トランシーバの省電力はソフト制御の下でオン・オフできます。ｎＲＦ２４０１チップのさらに詳しい情報は私どものウェ
ブサイト ｈｔｔｐ：／／ｗｗｗ.ｎｖｌｓｉ.ｎｏ で見つけることができます。

14

３

Ｉ／ＯポートｎＲＦ２４Ｅ１は標準８０５１のＰ０とＰ１の既定の場所に、２組のＩＯポートがあります。しかしポートは完全に双方向性のＣＭＯＳで、それぞれのピンの方向は下の表に示した、それぞれのビットの̲DIR と̲ALT ビットで制御されます。

表 ３−１ ： ポート機能

2）切り替え設定から独立したＧＰＩＯ Ｐ０．０として働く、ＥＥＰＲＯＭ̲ＣＳＮとして使用するため予約されています。

３．１

リセットの間のＩ／Ｏポートの振る舞い

内部リセットが有効な間（クロックが動いているかどうかにかかわらず）、ポートのピンは入力に設定されます。プログラムが実行を開始したとき、ＤＩＯは入力に設定されたままで、出力として使うためにはプログラム
は̲ＡＬＴと（または）̲ＤＩＲレジスタを設定する必要があります。

３．２

ポート０（Ｐ０）

Ｐ０̲ＡＬＴとＰ０̲ＤＩＲは優先順位に従い、Ｐ０ポートの機能を制御します。ポートに対する切り替え機能 Ｐ０.
ｎがセットされる（Ｐ０̲ＡＬＴ.ｎ＝１によって）と、ＵＡＲＴ ＲＸＤの方向がＰ０̲ＤＩＲ.１に依存することを除き、ピンは切り替え機能（ＵＡＲＴ・外部割込み･タイマ入力またはＰＷＭ出力）の要求で入力又は出力になります。
ＩＮＴ０̲ＮまたはＩＮＴ１̲Ｎを使うために対応する切り替え機能Ｐ０̲ＡＬＴ.３／Ｐ０̲ＡＬＴ.４をアクティブにしなけ
ればなりません。
Ｐ０̲ＡＬＴ.ｎがセットされていないとき、ポートのビット「ｎ」はＰ０̲ＤＩＲ.ｎによって方向制御されるＧＰＩＯ機能です。
Ｐ０．０は常にＧＰＩＯです。それはリセットの後、既定のブートローダによってアクティブにされ、ブートフラッ
シュのＣＳＮに接続されます。

15

表 ３−２ ： ポート０（Ｐ０）機能
ポート０は下表に掲げるＳＦＲレジスタの０ｘ８０,０ｘ９４,０ｘ９５により制御されます。

表 ３−３ ： ポート０制御とデータＳＦＲレジスタ

16

３．３

ポート１ （Ｐ１またはＳＰＩポート）

Ｐ１ポートはわずか３本のピンからなり、そのうちの１本はハ−ド結線で入力です。機能はＳＰＩ̲ＣＴＲＬで制御されます。
ＳＰＩ̲ＣＴＲＬが０１のとき、ポートはＳＰＩマスタポートとして使われます。ポートＰ０のＧＰＩＯビットはチップ選択として使用されるでしょう。タイミング図は図３．１：ＳＰＩインタフェースタイミングをご覧ください。
ＳＰＩポートとして使わないとき、Ｐ０̲ＡＬＴ.０はＰ１．０をタイマＴ２入力、Ｐ１．１をＧＰＩＯにします。Ｐ０̲ＡＬＴ.０が０のとき、Ｐ１．０も同様にＧＰＩＯです。
Ｐ１．２（ＤＩＮ０）は常に入力です。

訳注
０と１が反対になっている。

表 ３−４ ： ポート１ （Ｐ１）機能
ポート 1 はＳＦＲレジスタの０ｘ９０,０ｘ９６,０ｘ９７により制御され、レジスタの下位３ビットだけが使用されます。

3）このピンの切り替え機能が無いので、Ｐ１̲ＡＬＴ.１が１のときでもＰ１．１は実際Ｐ１̲ＤＩＲの制御の下にあります。

17

表 ３−５ ： ポート１制御とデータＳＦＲレジスタ18

Ｐ１はまたＳＰＩマスタポートとしても設定されるでしょう。そしてそのとき、下の表に示す０ｘＢ２,０ｘＢ３,０ｘＢ４の３つのＳＰＩレジスタで制御されます。

表 ３−６ ： ＳＰＩ制御とデータＳＦＲレジスタ

３．３．１

ＳＰＩインタフェースの操作

ＳＰＩ̲ＤＡＴＡが書かれるときはいつも、ＳＣＫで８パルスのシーケンスは始まり、そしてＳＤＯで８ビットのＳＰＩ
̲ＤＡＴＡレジスタは最上位ビットを初めに、クロックに同期して出力されます。同時にＳＤＩからの８ビットは、ＳＰ
Ｉ̲ＤＡＴＡレジスタにクロックに同期して入力されます。出力データはＳＣＫの立下りでシフトし、入力データはＳ
ＣＫの立ち上がりで読み込まれます。これは図３−１：ＳＰＩインターフェースタイミングに図解されています。８
ビットが終わったとき、ＳＰＩ̲ＲＥＡＤＹ割り込み（ＥＸＩＦ.５）がアクティブになり、ＳＤＩからの８ビットはＳＰＩ̲ＤＡＴＡ
レジスタから読めるでしょう。ＥＸＩＦ.５ビットは、ＳＰＩ̲ＤＡＴＡレジスタを再び書込み他のＳＰＩ処理が始まる前に、クリアされなければなりません。ＳＣＫ,ＳＤＯ,ＳＤＩはＳＰＩ̲ＣＴＲＬレジスタで定義された、外部ピンか又は内部信号でしょう。

19

図 ３−１ ： ＳＰＩインタフェースタイミング

tcSCK : SCK cycle time, as defined by SPICLK register.
tdSCK : time from writing to SPI_DATA register to first SCK pulse,
tdSCK = tcSCK / 2
tdSDO : delay from negedge SCK to new SDO output data, may vary from-40ns to 40ns

tsSDI : SDI setup time to posedge SCK, tsSDI > 45ns.
thSDI : SDI hold time to posedge SCK, thSDI > 0ns.
tdready : time from last SCK pulse to SPI_READY interrupt goes active
tdready = 7 CPU clock cycles
上のディレイ、セットアップ、ホールドの数字はＳＰＩがポート 1 に接続されているときだけ適用されることに注意してください ；ＳＰＩが無線に接続されているとき、ＳＣＫ,ＳＤＯ,ＳＤＩは全て内部信号で、ユーザには見えないので。

連続的な SPI 処理の最大時間は ：8.5 tcSCK + tdready + tSW
ここでｔｓｗは、ＳＰＩ̲ＲＥＡＤＹ割り込みを処理しそしてＳＰＩ̲ＤＡＴＡレジスタに書き込むため、ソフトウェアでとられる時間です。

20

４

ｎＲＦ２４０１ ２．４ＧＨｚ トランシーバサブシステム

４．１

無線ポート（ポート２）

トランシーバは無線ポートにより制御されます。無線ポートは標準８０５１でポートＰ２に普通使われている
アドレスを使用します。しかしながら無線トランシーバがチップ上にあるので、ポートは双方向ではありません。
電源投入時のポートが「ラッチ」する既定の値もまた、無線トランシーバサブシステムの要求に合わせるため、伝統的な８０５１と様式が異なります。
トランシーバの操作は、無線とＳＰＩ̲ＣＴＲＬのＳＦＲレジスタで制御されます。

表 ４−１ ： ｎＲＦ２４０１ ２．４ＧＨｚ トランシーバサブシステム 制御レジスタ − ＳＦＲ ０ｘＡ０と０ｘＢ３
無線レジスタのビットは、図４−２：無線レジスタに示すように、単一チップｎＲＦ２４０１の同様のピンに相当します。説明書の中ではピンの名前が使われていますので、これらのｎＲＦ２４０１ピンをセットする、あるいは読むということは、それに対応した無線ＳＦＲレジスタに書く、あるいは読むということを意味することに注意してください。同様に、トランシーバ説明書の中のＭＣＵという表記は、チップ上の８０５１互換のマイクロコントローラを意味することにも注意してください。

21

表 ４−２ ： 無線レジスタ − ＳＦＲ ０ｘＡ０、既定の初期データ値は０ｘ８０です。
注) SPI̲CTRL=1x のとき、いくつかのピンは上書きされます。表４−３：トランシーバＳＰＩインタフェース参照。

４．１．１

ＳＰＩインタフェース経由のトランシーバ制御

内蔵のＳＰＩインタフェースを使用することは、高周波設定やショックバースト送受信のような、共通のトランシーバ操作の大部分を行うのにより便利です。ＳＰＩインターフェースを使うため、表３−６：ＳＰＩ制御とデータＳ
ＦＲレジスタを見てください。無線ポートはＳＰＩ̲ＣＴＲＬが「１ｘ」のとき、ＳＰＩハードウェアの別回路に接続されます。ＳＰＩ̲ＣＴＲＬが「０ｘ」のとき、全ての無線ピンはそれぞれのポートピンに直接接続されます。

表 ４−３ ： トランシーバＳＰＩインタフェース22図 ４−１ ： トランシーバインタフェース

４．１．２ リセットの間の無線ポートの振る舞い
内部リセットがアクティブの間（クロックが動作していてもいなくても関係なく）、ｎＲＦ２４０１トランシーバサブ
システムを制御する無線の出力は、それぞれの既定値（ＲＡＤＩＯ．３＝０（ＣＳ），ＲＡＤＩＯ．６＝０（ＣＥ），ＲＡＤＩ
Ｏ．７＝１（ＰＷＲ̲ＵＰ））に強制されます。プログラムの実行が始まったとき、プログラマが無線レジスタを書く
ことによって積極的に変更するまで、これらのポートはその既定のレベルが残ります。

４．２

動作モ−ド

４．２．１ 概略
ｎＲＦ２４０１サブシステムは３本の制御ピンにより、下に示す主なモードに設定することができます。

Mode

PWR_UP

CE

CS

Active （RX/TX)

1

1

0

Configuration

1

0

1

Stand by1

0

0Power down

0

X

X

表 ４−４ ： ｎＲＦ２４０１サブシステム 主なモード

23

４．２．２ アクティブモード
ｎＲＦ２４０１は２つのアクティブモード（送信／受信）を持っています:・ ショックバ−スト（ＳｈｏｃｋＢｕｒｓｔＴＭ）
・ ダイレクトモード （ｎＲＦ２４Ｅ１ではサポートされていません）
これらのモードにおける素子の機能性はコンフィギュレーションワードの内容によって決定されます。このコ
ンフィギュレーションワードは設定の章で紹介されています。ダイレクトモードは、これが８０５１よりもっと強力なＣＰＵを必要とするため、サポートされていませんのでご注意ください。

４．２．３ ＳｈｏｃｋＢｕｒｓｔＴＭ
ＳｈｏｃｋＢｕｒｓｔＴＭはオンチップＦＩＦＯ（Ｆｉｒｓｔ Ｉｎ Ｆｉｒｓｔ Ｏｕｔ Ｍｅｍｏｒｙ）を介して低データ入力レート−高デ
ータ送信レート（無線リンク）間をマネージメントし、送信時間を最小化することで消費電力をセーブすることができます。
ＳｈｏｃｋＢｕｒｓｔＴＭモードで使用する場合には高データレート（１Ｍｂｐｓ）を実現するために高価な高速ＭＣ
Ｕを使用する必要はありません。
ＲＦプロトコルに関連する高速信号処理をオンチップ化することによりｎＲＦ２４０１では以下のメリットをご提供します。
・ 電流消費の軽減
・ システムコスト低減 （低速・廉価な MCU 使用が可能)
・ 転送時間短縮によるコリジョン・リスク（電波同士の衝突)を低減
ｎＲＦ２４０１は使用するＭＣＵの速度に合わせた３ｗｉｒｅ（ＳＰＩ： Ｓｉｒｉａｌ Ｐｒｏｇｒａｍｍｉｎｇ Ｉｎｔｅｒｆａｃｅ）を使用してプログラミングできます。
アプリケーションで使用するデジタル回路部の動作を低速にしつつ無線部のデータレートは最速化できる
ためアプリケーションでの平均電力消費を低減することが可能になります。

４．２．３．１ ＳｈｏｃｋＢｕｒｓｔＴＭ原理
ｎＲＦ２４０１がＳｈｏｃｋＢｕｒｓｔＴＭモードに設定された場合、送信及び受信動作は以下のようになります。
（１０Ｋｂｐｓはあくまで例示です。)

図 ４−２ ： ＣＰＵによる同期時系列のデータとショックバースト技術による送信

24図 ４−３ ： ショックバースト技術を使ったときと使わなかったときの高周波消費電流25図 ４−４ ： ｎＲＦ２４０１サブシステムのショックバースト送信のフローチャート

４．２．３．２ ショックバースト送信：
４．２．３．２．１ ＣＰＵインタフェースピン ： CE,CLK1,DATA
1. ＭＣＵがデータを送信する場合、まずＣＥ端子をＨｉｇｈにします。
これによりｎＲＦ２４０１内部のデータ処理機能がアクティブになります。
2. 受信ノード用アドレス（ＲＸ ａｄｄｒｅｓｓ)及びペイロードデータをクロックに同期してｎＲＦ２４０１
へ供給します。転送スピードあるいはアプリケーションプロトコルはＭＣＵにより設定されます。
（ １Ｍｐｂｓ以下任意 )3. ＳｈｏｃｋＢｕｒｓｔＴＭ転送をアクティブにするために、ＭＣＵはＣＥ端子をＬｏｗにします。
4. ＳｈｏｃｋＢｕｒｓｔＴＭ転送動作
・ ＲＦフロントエンド部のＰｏｗｅｒ Ｕｐ・ ＲＦパケットの準備（ プリアンブル付加,ＣＲＣ値計算)
・

データ転送（ ユーザ設定により２５０Ｋｂｐｓあるいは１Ｍｂｐｓ)
26

・ 転送終了後ｎＲＦ２４０１はスタンバイモードへ

図 ４−５ ： ｎＲＦ２４０１サブシステムのショックバースト受信のフローチャート

27

４．２．３．３ ショックバースト受信：
４．２．３．３．１ ＣＰＵインタフェースピン ： CE,DR1,CLK1,DATA （1 チャンネル受信時)
1. ＳｈｏｃｋＢｕｒｓｔＴＭＲＸモード時にｎＲＦ２４０１が受信するアドレスおよびペイロードデータサイズを設定します。
2. ＣＥ端子をＨｉｇｈとし、ＲＸモードをアクティブにします。
3. ２００μｓの準備期間後、ｎＲＦ２４０１は無線状態をモニタし始めます。
4. 有効なパケット（アドレス,ＣＲＣ)受信時、ｎＲＦ２４０１はプリアンブル,アドレス,ＣＲＣビットを取り除きます。
5. ｎＲＦ２４０１はＭＣＵに有効データの受信を知らせる（インタラプトする）ためにＤＲ１をＨｉｇｈにします。
6. 省電力化の為にＭＣＵはＣＥ信号をＬｏｗにし、ＲＦフロントエンドをＰｏｗｅｒ Ｏｆｆすることも可能です。
7. ＭＣＵは適当なクロックをｎＲＦ２４０１へ出力し、ＦＩＦＯデータを読み出します。（例: １０ｋｂｐｓ)
8. 全データが読み出されるとｎＲＦ２４０１はＤＲ１信号をＬｏｗへ落とします。この時ＣＥ信号を
Ｈｉｇｈのまま保っていれば次のデータ受信が可能となります。ＣＥ信号がＬｏｗの場合、新しいスタートアップシーケンスを始めることが可能です。（図４−１４参照)

４．２．４ ＤｕｏＣｅｉｖｅｒＴＭ 2 チャンネル同時受信モード
ｎＲＦ２４Ｅ０１はＳｈｏｃｋＢｕｒｓｔＴＭモードで、２チャンネル並列受信を最大データレートで提供することができます。
・ ｎＲＦ２４０１は 1 つのアンテナを使用し、８ＭＨｚ（８チャンネル)離れた２種類の１Ｍｂｐｓ送信データ（２つのｎＲＦ２４０１あるいはｎＲＦ２４０２)を受信します。
・ ２チャンネル分の受信データは、それぞれ別のＭＣＵインタフェースへ供給されます。
* データチャンネル 1 : ＣＬＫ１， ＤＡＴＡ， ＤＲ１* データチャンネル 2 : ＣＬＫ２， ＤＯＵＴ２， ＤＲ２
ｎＲＦ２４０1 のＤｕｏＣｅｉｖｅｒＴＭは２つの独立したデータチャンネルを提供しますので、独立した受信システ
ムを２つ用意する必要がありません。

図 ４−６ ： ｎＲＦ２４Ｅ１の２チャンネル同時受信28

２番目のデータチャンネルを使用する場合に絶対に守らなければならないことがあります。チャンネル２を使用する場合には、チャンネル１の周波数より８ＭＨｚ上の周波数でなければならないという制限があり、ｎＲＦ２４０１ではチャンネル１の受信周波数しかプログラムできないということです。この機能では時分割多重のような事は行っておりません。もし２データチャンネルのデータが時分割等でデータが送られているならば、Ｍ
ＣＵは同時に送られてくる２チャンネル分のデータを扱わなければなりません。ＳｈｏｃｋＢｕｒｓｔＴＭモードでは、ＭＣＵ側が供給するクロックに同期してｎＲＦ２４０１がデータを送出し、片チャンネルずつデータを読み出すことができ、もう一方のチャンネルの受信を待たせることができます。（ＦＩＦＯにバッファされているのでパケット喪失等の心配はありません。）この機能により使用するＭＣＵにより自由度を持つことができます。

図 ４−７ ： ２つの同時、独立受信チャンネルによるＤｕｏＣｅｉｖｅｒＴＭ

４．３

素子の設定

ｎＲＦ２４０１の全て設定は３ワイヤ・インターフェース（ＣＳ，ＣＬＫ１，ＤＡＴＡ）で１種類のコンフィギュレーショ
ン・レジスタを設定することにより行われます。コンフィギュレーションワードは１８バイトの長さまで可能です。
コンフィギュレーションビット（ＤＡＴＡ）はＣＳ＝１の間、最上位ビットを初めとして、ｎＲＦ２４０１サブシステムへ
同期時系列的に（ＣＬＫ１により）入れられなければなりません。わずか１８バイトしかダウンロードされません。

４．３．１ ＳｈｏｋｂｕｒｓｔＴＭ操作のための設定
ＳｈｏｃｋＢｕｒｓｔＴＭとしてｎＲＦ２４０１を設定した場合、ＲＦプロトコルはｎＲＦ２４０１自身が扱うことになります。
プロトコルを一旦設定した後に１ｂｙｔｅ （ ［７：０］ )でもコンフィギュレーションを変更した場合には動作中にアップデート動作が必要となります。
ＳｈｏｃｋＢｕｒｓｔＴＭモード専用のコンフィギュレーションは以下になります。
・ Ｐａｙｌｏａｄ ｓｅｃｔｉｏｎ ｗｉｄｔｈ：ＲＦパッケージ内のペイロード部のビット数を指定します。受信パッケージのペイロード・データとＣＲＣバイトを区別する目的で使われます。
・ Ａｄｄｒｅｓｓ ｗｉｄｔｈ：ＲＦパッケージでアドレスとして使用するビット数を指定します。アドレスとペイロードの区別に使用されます。
・ Ａｄｄｒｅｓｓ （ＲＸ Ｃｈａｎｎｅｌ １ ａｎｄ ２ ）：受信データのアドレスの区別に使用されます。
・ ＣＲＣ：ｎＲＦ２４０１内蔵のＣＲＣ生成/デコードをイネーブルします。

29

注)
ＣＲＣを除くこれらのコンフィギュレーションはｎＲＦ２４０１の受信ＲＦパッケージでのみ有効です。
ＴＸモードでは、ＭＣＵがアドレスやペイロードを受信側が受け取れる形で作成しなければなりません。
ｎＲＦ２４０１内蔵のＣＲＣ機能を使用する場合、ＴＸ及びＲＸどちらも同じ長さを使用します。

図 ４−８ ： データパケット構成

４．３．２ ダイレクトモード操作の設定
Ｄｉｒｅｃｔモードでのコンフィギュレーションワードは最初の２バイト（ｂｉｔ［１５：０］)設定で十分です。

30

４．３．３ コンフィギュレーションワード概観

表 ４−５ ： コンフィギュレーションワード表
コンフィギュレーションワードはＣＬＫ１の立ち上がりエッジに同期してＭＳＢから順番にシフト入力されます。
コンフィギュレーションの更新はＣＳ信号の立ち下がりエッジで行われます。

注)
ＣＳ信号の立下りでｎＲＦ２４０１は、最近書き込みの行われたビット数（シフト数）分の更新を行います。
例：
ｎＲＦ２４０１は２チャンネル受信のＳｈｏｃｋ ＢｕｒｓｔＴＭモードに設定する場合には、ＶＤＤ投入後の最初の書き込みにおいて
全部で１２０ビットを設定しなければなりません。一度設定を行えばＲＸとＴＸの切り替えは１ビット更新（ＲＸＥＮ）で行うことができます。

31

４．３．４ コンフィギュレーションワードの詳細記述
以下にｎＲＦ２４０１の設定に使用する１４４ビット（ｂｉｔ１４３＝ＭＳＢ)の機能について説明
します。

32

表 ４−６ ： コンフィギュレーションデータワード
コンフィギュレーションレジスタへはＭＳＢから順番に入力しなければなりません。
ディフォルト・コンフィギュレーションワード： ｈ８Ｅ０８．１Ｃ２０．２０００．００００．００Ｅ７．００００．００００．Ｅ７２
１．０Ｆ０４33

４．３．４．１ ＳｈｏｃｋＢｕｒｓｔＴＭ設定：
ビット［１１９：１６］はＳｈｏｃｋ ＢｕｒｓｔＴＭモード専用設定部分で構成されています。ＶＤＤ投入後に設定したＳｈｏｃｋ ＢｕｒｓｔＴＭモード設定はＶＤＤが供給され続ける限り保持されます。動作中は最初の１バイトで周波数チャンネル及びＲＸ／ＴＸの切り替えを必要であれば変更します。
４．３．４．１．１ ＰＬＬ̲ＣＴＲＬ

表 ４−７ ： PLL 設定
ｂｉｔ ［ １２１：１２０ ］
ＰＬＬ̲ＣＴＲＬ： テスト時のＰＬＬ設定を制御します。ｃｌｏｓｅｄ ＰＬＬ設定のＴＸではデビエーションは起こりません。
４．３．４．１．２ ＤＡＴＡｘ̲Ｗ

表 ４−８ ： ペイロードのビット数
ｂｉｔ ［ １１９：１１２ ］
ＤＡＴＡ２̲Ｗ： 受信チャンネル２用ＲＦパッケージ・ペイロード長
ｂｉｔ ［ １１１：１０４ ］
ＤＡＴＡ１̲Ｗ： 受信チャンネル１用ＲＦパッケージ・ペイロード長（注)
ＳｈｏｃｋＢｕｒｓｔＴＭモードでのＲＦパッケージ全体のビット長は２５６ビットを超えてはいけません。
ペイロード部の長さは以下の計算により求められます。

DATAx̲W （bits) = 256 - ADDR̲W ‒ CRC
・ ＡＤＤＲ̲Ｗ： コンフィギュレーション・ワードｂｉｔ ［ ２３：１８ ］で指定するＲＸアドレス長・ ＣＲＣ： コンフィギュレーション・ワードｂｉｔ ［ １７ ］で指定する８ビットか１６ビットのチェックサム

34

・ ＰＲＥ： 自動的にインサートされる４ビットか８ビットのプリアンブルアドレスを短くしＣＲＣを使わなければ各パッケー
ジのペイロード・データ長に余裕ができます。

35

４．３．４．１．３ ＡＤＤＲｘ

表 ４−９ ： 受信機２と受信機１のアドレス
ｂｉｔ ［ １０３：６４ ］ ：ＡＤＤＲ２： チャンネル２・レシーバ・アドレスの指定。最大４０ビット。
ｂｉｔ ［ ６３：２４］ ：ＡＤＤＲ１： チャンネル１・レシーバ・アドレスの指定。最大４０ビット。
（注）
ＡＤＤＲ̲Ｗで設定したアドレス長を超えるＡＤＤＲｘのビットは冗長部となり、ロジック０に設定することができます。

４．３．４．１．４ ＡＤＤＲ̲Ｗ & ＣＲＣ

表 ４−１０ ： ＲＸアドレス＋ＣＲＣ設定のため予約されているビット数
ｂｉｔ ［ ２３：１８ ］
ＡＤＤＲ̲Ｗ： ＳｈｏｃｋＢｕｒｓｔＴＭレシーバ・アドレスビット数の指定。
（注)
最大アドレス長は４０ビット（５ｂｙｔｅ)。ＡＤＤＲ̲Ｗでの４０ビット以上の設定は無効です。

ｂｉｔ ［ １７ ］
ＣＲＣ̲Ｌ： Ｓｈｏｃｋ ＢｕｒｓｔＴＭ時に計算されるＣＲＣ長の指定。
・ ロジック ０： ８bit ＣＲＣ
・ ロジック １： １６bit ＣＲＣ
ｂｉｔ ［ １６ ］
ＣＲＣ̲ＥＮ： ＣＲＣ生成（ＴＸ）及びＣＲＣ検証（ＲＸ）の有効・無効設定。
・ ロジック ０ ： ディセーブル
・ ロジック １ ： イネーブル
36

（注)８ビットＣＲＣを使用することでペイロード部の長さは稼げますが、システムとして強度が落ちることを考慮ください。

37

４．３．４．２ 高周波全般設定
この項ではＲＦ及びデバイスに関連するパラメータを設定するコンフィギュレーションワードについて説明します。
４．３．４．２．１ Ｍｏｄｅ： （ＲＦ部動作設定)

表 ４−１１ ： 高周波操作設定
ｂｉｔ ［ １５ ］
ＲＸ２̲ＥＮ：・ ロジック０ ： １チャンネル受信・ ロジック１ ： ２チャンネル受信（注)
２チャンネル受信設定時、ｎＲＦ２４０１は別々の２周波数チャンネルを同時に受信します。受信チャンネル１はコンフィギュレーションワード ｂｉｔ ［ ７：１ ］により設定され、受信チャンネル２は常にチャンネル１周波数の８チャンネル（８ＭＨｚ)
上になります。

ｂｉｔ ［ １４ ］
Ｃｏｍｍｕｎｉｃａｔｉｏｎ Ｍｏｄｅ：・ ロジック０ ： ダイレクトモード動作
・ ロジック１ ： ＳｈｏｃｋＢｕｒｓｔＴＭ動作
ｂｉｔ ［ １３ ］
ＲＦ Ｄａｔａ Ｒａｔｅ：・ ロジック０ ： ２５０Ｋｂｐｓ
・ ロジック１ ： １Ｍｂｐｓ（注)１Ｍｂｐｓの代わりに２５０Ｋｂｐｓを使用する場合、受信感度は１０ｄＢ向上します。１Ｍｂｐｓ動作には１６MHz クリスタルが必要です。

ｂｉｔ ［ １２：１０ ］
ＸＯ̲Ｆ： 使用クリスタルの選択。

38

表 ４−１２ ： 水晶周波数設定
表１４−２：ｎＲＦ２４Ｅ１の水晶仕様もあわせてご覧ください。

39

ｂｉｔ ［ ９：８ ］
ＰＦ̲ＰＷＲ：ｎＲＦ２４０１送信出力の設定

表 ４−１３ ： 高周波出力電力設定
４．３．４．２．２ 高周波チャンネルと方向

表 ４−１４ ： 周波数チャンネルと受信／送信設定
ｂｉｔ ［ ７：１ ］
ＲＦ̲ＣＨ#：

ｎＲＦ２４０１使用周波数チャンネルの設定。

送信チャネル周波数:（ＲＦ̲ＣＨ#： ２４００ＭＨｚ〜２５２７ＭＨｚ間)
受信チャネル１周波数：（ＲＦ̲ＣＨ#： ２４００ＭＨｚ〜２５２４ＭＨｚ間)（注）
８３Ｃｈ以上については国により使用が可能（例：日本)

受信チャネル２周波数：（ＲＦ＿ＣＨ＃： ２４０８ＭＨｚ〜２５２４ＭＨｚ間）
ｂｉｔ ［ ０ ］
アクティブモード設定：40

・ ロジック０ ： 送信モード
・ ロジック１ ： 受信モード

41

４．４

データパッケージの説明

図 ４−９ ： データパッケージ図
Ｓｈｏｃｋ ＢｕｒｓｔＴＭ、 ダイレクトモードのどちらの場合でも通信は以下の４つの部分に分割することができます。

表 ４−１５ ： データパッケージ説明注) ＳｈｏｃｋＢｕｒｓｔＴＭのアドレス使用に関するご提案：一般的にアドレスのビットが多い方が検出の失敗が減り、結果的にデータパケットロスが低くなります。
Ａ． パケットエラーレートが上昇するので、アドレスを（５、４、３、または２個の）同じバイトで構成することはお勧めできません。
Ｂ． レベル変化が１度だけのアドレス（例えば０ｘ０００ＦＦＦＦＦＦＦ）はしばしば雑音中に検出され、誤検出となり、それがまたパ
ッケットエラーレートを上げます。
Ｃ． プリアンブルの一部と解釈され、残りのアドレスでアドレス不整合の元になりますので、アドレスの最初のバイトは０ｘ５５．．．
または０ｘＡＡ．．．で始めてはいけません。

42

４．５

重要な高周波タイミングのデータ

以下のタイミングはｎＲＦ２４０１動作に使用されます。

４．５．１ nRF2401 サブシステムタイミング情報

表 ４−１５ ： ｎＲＦ２４０１サブシステムの操作上のタイミングｎＲＦ２４０１がｐｏｗｅｒ ｄｏｗｎからコンフィギュレーションあるいはアクティブモードに移行する前には常にＴｐ
ｄ２ｓｂｙの時間が必要です。（ ｍａｘ： ３ｍｓ )図 ４−１０ ： ｎＲＦ２４０１サブシステムのパワダウン（またはＶＤＤオフ）から設定モードに至るタイミング
図43

図 ４−１１ ： パワダウン（またはＶＤＤオフ）からアクティブモード
コンフィギュレーションワードの内容はＶＤＤを落とすと消失します。その場合再設定し直さなければならない
ことにご注意してください。
注)
ＣＥ信号とＣＳ信号は同時にＨｉｇｈにしてはいけません。片方を設定か他の要素によりコンフィギュレーションかアクティブモード
に入るかが決定されます。

44

４．５．２ 設定モードタイミング
コンフィギュレーションワードを変更する場合のタイミングは以下になります。

図 ４−１２ ： ｎＲＦ２４０１サブシステムの設定のタイミング図
ｐｏｗｅｒ ｄｏｗｎからコンフィギュレーションモードへ移行する場合は図４−１０に示すようにＴｐｄ２ｓｂｙ時間後にＣＳ信号をＨｉｇｈにすることでコンフィギュレーションモードへ移行できます。

45

４．５．３ ShockBurstTM モードタイミング
ＳｈｏｃｋＢｕｒｓｔＴＭ 送信：

図 ４−１３ ： 送信時におけるＳｈｏｃｋＢｕｒｓｔＴＭのタイミング
パッケージ長及びデータレートは、下記式の如くＴｏａ（ ｔｉｍｅ ｏｎ ａｉｒ）として与えられます。ｄａｔａｂｉｔｓは追加されるであろうＣＲＣとプリアンブルを含んだ全てのビット数です。

46

ＳｈｏｃｋＢｕｒｓｔＴＭ 受信：

図 ４−１４ ： 受信時におけるＳｈｏｃｋＢｕｒｓｔＴＭのタイミング
データ・ダウンロード時（受信時)ＣＥ信号はロジックＨｉｇｈレベルを保持しますが電流消費が大きく（１９ｍＡ)なります。利点としてはＤＲ１信号がｌｏｗになった後のスタートアップ時間（２００ μs)が不要であることです。

47

５

Ａ／Ｄコンバータ

ＡＤコンバータサブシステムは、ナイキストレートで使うとき、１０ビットのダイナミックレンジと直線性を持ちます。さらに低い周波数と後のフィルタで、１２ビットまでの分解能が可能です。ＡＤコンバータのリファレンス
は、ＡＲＥＦ入力と内蔵の１．２２Ｖのバンドギャップリファレンスが選択可能です。
コンバータの初期設定は１０ビットです。特別な要求でＡＤコンバータは６,８,１０または１２ビット変換に設定することができます。コンバータはＡＩＮ０を反転入力、他の７つの外部入力のうちの１つを非反転入力として、
差動モードとしても使うことができます。差動モードのとき、ＳＮ比が少し改善（例えば１０ビット変換時、２ｄＢ）
することが期待できます。
ＡＤコンバータは４つのレジスタを経由して、マイクロコントローラと接続されています。ＡＤＣＣＯＮ（０ｘＡ１）
はチャンネルとリファレンスの選択のような、最も一般的な制御機能を含んでいます。ＡＤＣＳＴＡＴＩＣ（０ＸＡ４）は、ｎＲＦ２４Ｅ１の用途では普通変更されることのない、まれに使用される制御機能を含んでいます。結果の高位部分はＡＤＣＤＡＴＡＨ（０ｘＡ２）で利用でき、一方でＡＤＣＤＡＴＡＬ（０ｘＡ３）は結果の下位部分（もしあれば）と、変換の終了をともにオーバフローステータスビットを保持します。
完全なＡＤサブシステムはＮＰＤビット（ＡＤＣＣＯＮ．５)をクリアすることにより電源を切ることができます。Ａ
Ｄコンバータは普通、ＣＰＵクロックを３２分周したクロック（１２５から６２５ｋＨｚ)で動作し、クロックサイクルごとに２ビットの結果を取り出します。

48

５．１ Ａ／Ｄコンバータサブシステムのブロック図

図 ５−１ ： Ａ／Ｄコンバータのブロック図

５．２

Ａ／Ｄコンバータのレジスタ

５．２．１ ＡＤＣＣＯＮレジスタ、ＳＦＲ ０ｘＡ１

49

表 ５−１ ： ＡＤＣＣＯＮレジスタ、ＳＦＲ ０ｘＡ１、データの初期値は０ｘ８０です。

５．２．２ ＡＤＣＳＴＡＴＩＣレジスタ、ＳＦＲ ０ｘＡ４

表 ５−２ ： ＡＤＣＳＴＡＴＩＣレジスタ、ＳＦＲ ０ｘＡ４、データの初期値は０ｘ０Ａです。

５．２．３ ＡＤＣＤＡＴＡＨレジスタ、ＳＦＲ ０ｘＡ２

５．２．４ ＡＤＣＤＡＴＡＬレジスタ、ＳＦＲ ０ｘＡ３

表 ５−３ ： ＡＤＣデータＳＦＲレジスタ、ＳＦＲ ０ｘＡ２と０ｘＡ３

50

５．３

Ａ／Ｄコンバータの使用法

５．３．１ 変換の終了
ＡＤＣ＿ＥＯＣ信号はＥＸＩＦ．４ビット（割り込み２フラグ)で得られ、Ａ／Ｄコンバータによって変換（シングルス
テップまたは連続)か完了すると１にセットされます。表７−４：ＥＸＩＦレジスタ-ＳＦＲ ０ｘ９１を参照してください。
ＡＤＣ＿ＥＯＣのタイミングは図５−３と図５−４を見てください。

５．３．２ 外部リファレンスを用いた測定
ＥＸＴＲＥＦ（ＡＤＣＣＯＮ．４）が１にセットされ、そしてＡＤＣＳＥＬ（ＡＤＣＣＯＮ３−０）が入力ＡＩＮｉ（すなわちＡＩ
Ｎ０からＡＩＮ７）を選択しているとき、ＡＤＣＤＡＴＡの結果は、選択された入力の電圧とＡＲＥＦピンの電圧の比に直接比例します。

ここでＮはＡＤＣＲＥＳ（ＡＤＣＳＴＡＴＩＣ．１−０）でセットされたビット数であり、ＡＤＣＤＡＴＡはＡＤＣＤＡＴＡＨの（Ｎ＞８の場合、ＡＤＣＤＡＴＡＬも）結果のビットです。
差動計測には等価式が当てはまります：

このモードの操作は普通、下の図５−２に示すように、ソースが供給電圧（またはその他の可変電圧)によって電圧が決まるときに選択されます。抵抗Ｒ１は最大ＶＤＤ電圧でＡＲＥＦ＝１．５Ｖを保つよう選ばれます。

51

図 ５−２ ： ２つの供給電圧に比例した入力のＡ／Ｄの典型的な使用法

５．３．３ 内部リファレンスによる測定
ＥＸＲＥＦ（ＡＤＣＣＯＮ．４）が０に設定され、そしてＡＤＣＳＥＬ（ＳＤＣＣＯＮ．３−０）が入力ＡＩＮｉ（すなわちＡＩＮ
０からＡＩＮ７）を選択しているとき、ＡＤＣＤＡＴＡの結果は、選択された入力の電圧と内部バンドギャップリファ
レンス（通常１．２２Ｖ）の比に直接比例します。

ここでＮはＡＤＣＲＥＳ（ＡＤＣＳＴＡＴＩＣ．１−０）でセットされたビット数であり、ＡＤＣＤＡＴＡはＡＤＣＤＡＴＡＨの（Ｎ＞８の場合、ＡＤＣＤＡＴＡＬも）結果のビットです。
このモードの操作は普通、ソースが供給電圧によって電圧が決まらないときに選択されます。

52

５．３．４ 供給電圧測定
ＡＤＣＳＥＬ（ＡＤＣＣＯＮ．３−０）が８に設定されているとき、ＡＤＣは内部バンドギャップリファレンス（通常１．
２２Ｖ）を使い、そして入力はＶＤＤピンの電圧の１／３になります。ＡＤＣＤＡＴＡの結果はこのようにＶＤＤ電圧に直接比例します。

ここでＮはＡＤＣＲＥＳ（ＡＤＣＳＴＡＴＩＣ．１−０）でセットされたビット数であり、ＡＤＣＤＡＴＡはＡＤＣＤＡＴＡＨの（Ｎ＞８の場合、ＡＤＣＤＡＴＡＬも）結果のビットです。

５．４

Ａ／Ｄコンバータのタイミング

図 ５−３ ： シングルステップ変換のタイミング図
ＡＤＣＲＵＮ＝０のとき、変換はＣＳＴＡＲＴＮがハイになった後のＡＤＣＣＬＫの立ち上がりで始まります。ＡＤＣＤ
ＡＴＡバスに変換値が有効になった時、ＡＤＣ＿ＥＯＦにパルスが発生します。
変換時間ｔＣｏｎｖは分解能に依存し、Ｎが分解能のビット数としますと、ｔＣｏｎｖ＝Ｎ／２＋３クロックサイクルになります。図は１０ビット変換を示しています。ＣＳＴＡＲＴＮパルスの最小幅は１クロックサイクルです。前の変換が終わる前にＣＳＴＡＲＴＮパルスが来ますと、前の変換は中断します。

53

図 ５−４ ： 連続モード変換のタイミング図
ＡＤＣＲＵＮ＝１のとき、ＣＳＴＡＲＴＮは無視されます。サイクル時間ｔＣｙｃｌｅはそれぞれの変換の間の時間になります。Ｎが分解能のビット数のとき、ｔＣｙｃｌｅ＝Ｎ／２＋１クロックサイクルになります。図は１０ビット変換を示しています。

５．５

アナログインタフェースのガイドライン

アナログ入力の入力インピーダンスはなるべく１００−１０００オームの範囲内に、そしていかなる場合でも
１０キロオーム以下にしなければいけません。入力の小さなコンデンサ（例えば２００ｐＦ）はデカップリングのため推奨します。使用例として図１５−１も参照してください。
もしＡＩＮ入力が選択されたリファレンス電圧を超えた場合、ＡＤＣはクリップし、結果は最大値になります。Ａ
ＩＮのどれも、絶対最大電圧は２．０Ｖです。

54

６

ＰＷＭ

ｎＲＦ２４Ｅ１のＰＷＭ出力は、２つのレジスタインターフェースを持った１チャンネルＰＷＭです。最初のレジ
スタＰＷＭＣＯＮはＰＷＭ機能と、下の表に示すように１ＰＷＭ周期のクロックサイクル数で、ＰＷＭ周期の長さを有効にします。他のレジスタＰＷＭＤＵＴＹはＰＷＭ出力信号のデューティサイクルを制御します。このレジスタが書かれたとき、ＰＷＭ信号は即座に新しい値に変更されます。これは１ＰＷＭ周期の中で４回の推移が可能ですが、推移期間は古いサンプルと新しいサンプルの間の「直流値」を常に取ります。
表は２つのＰＷＭ ＳＦＲレジスタでＰＷＭ周波数（または周期長さ）とＰＷＭデューティサイクルがどのように制御されるか示しています。水晶周波数が１６ＭＨｚのとき、ＰＷＭ周波数範囲は大体１−２５３ｋＨｚになります。

ＰＷＭはＳＦＲ ０ｘＡ９と０ｘＡＡで制御されます。

表 ６−１ ： ＰＷＭ制御レジスタ ― ＳＦＲ ０ｘＡ９と０ｘＡＡ

55

７

割り込み

ｎＲＦ２４Ｅ１は以下の割り込みソースをサポートしています。

表 ７−１ ： ｎＲＦ２４Ｅ１の割り込みソース

７．１

割り込みＳＦＲ

次のＳＦＲは割り込み制御と関連しています。

ＩＥとＩＰ ＳＦＲは、業界標準の８０５１同様に、割り込みの有効と標準的な割り込み単位の優先順位の制御を備えます。ＥＸＩＦ，ＥＩＣＯＮ，ＥＩＥ，ＥＩＰレジスタはフラグ、イネーブル制御、そして拡張割り込み単位の優先
順位制御を備えます。
表７−２はＩＥレジスタのビット機能を説明しています。

56

表 ７−２ ： ＩＥレジスタ − ＳＦＲ ０ｘＡ８
表７−３はＩＰレジスタのビット機能を説明しています。

表 ７−３ ： ＩＰレジスタ − ＳＦＲ 0xB8
表７−４はＥＸＩＦレジスタのビット機能を説明しています。

57

表 ７−４ ： ＥＸＩＦレジスタ − ＳＦＲ ０ｘ９１
表７−５はＥＩＣＯＮレジスタのビット機能を説明しています。

表 ７−５ ： ＥＩＣＯＮレジスタ − ＳＦＲ ０ｘＤ８
表７−６はＥＩＥレジスタのビット機能を説明しています。

表 ７−６ ： ＥＩＥレジスタ − ＳＦＲ ０ｘＥ８58

表７−７はＥＩＰレジスタのビット機能を説明しています。

表 ７−７ ： ＥＩＰレジスタ − ＳＦＲ 0xF8

７．２

割り込みの過程

可能にされた割り込みが発生するとき、ＣＰＵは、表７−８にリストするような、その割り込みに関係がある
割り込みサ−ビスルーチン（ＩＳＲ）のアドレスへ誘導します。ＣＰＵは、他のより優先順位の高い割り込みが発生しない限り、ＩＳＲを完了するよう実行します。それぞれのＩＳＲはＲＥＴＩ（ｒｅｔｕｒｎ ｆｒｏｍ ｉｎｔｅｒｒｕｐｔ)命令で終わります。ＲＥＴＩの実行後、ＣＰＵは、割り込みが発生しなければ実行されたであろう、次の命令へ戻ります。

59

表 ７−８ ： 割り込みの常態のベクトルと優先順位
ＩＳＲはより優先順位の高い割り込みにのみ割り込まれます。すなわち、低レベルＩＳＲは高レベル割り込みにのみ割り込まれます。ＣＰＵは常に、割り込みを行う前に進行中の命令を完了します。もし進行中の命令がＲＥＴＩの場合、またはＩＰ,ＩＥ,ＥＩＰ,ＥＩＥのいずれかのＳＦＲに書込み中の場合、ＣＰＵは割り込みを行う前にもう１つ追加の命令を完了します。

７．３

割り込みのマスク

ＩＡ ＳＦＲのＥＡビット（ＩＥ．７）は全ての割り込みを総括的に可能にします。ＥＡ＝１のとき、それぞれの割り込みは独立したイネーブルビットでイネーブル／マスクされます。ＥＡ＝０のとき、全ての割り込みはマスクされます。表７-９は割り込みのソース,フラグ、イネーブル、優先順位の概略を提供します。

60

表 ７−９ ： 割り込みフラグ、イネーブル、優先順位制御

７．４

割り込みの優先順位

割り込みの優先順位の割り当てには、割り込みレベルと常態の優先順位の２つの段階があります。割り込
みレベル（高低)は常態の優先順位より優位です。全ての割り込みは高いか低いかどちらかの優先順位に割り当てることができます。割り当てられた優先順位レベル（高低）に加え、それぞれの割り込みは、表７-８にリストしたような常態の優先順位を持っています。同じ優先順位レベル（例えばどちらも高）の同時の割り込みはそれらの常態の優先順位に従って決定されます。
例えば、もしＩＮＴ０＿Ｎとｉｎｔ２がともに高優先順位にプログラムされていると、ＩＮＴ０＿Ｎが優先になります。いったん割り込みがサービスされれば、より高い優先レベルの割り込みのみが、現在サービス中の割り込みルーチンに割り込むことができます。

７．５

割り込みのサンプリング

内部タイマとシリアルポートは、それぞれのＳＦＲ割り込みフラグビットを設定することにより、割り込みを発生します。ＣＰＵは外部割込みを、最後のサイクルＣ４のＣＰＵ＿ｃｌｋの立ち上がりエッジで、命令サイクルに１度サンプルします。
ＩＮＴ０＿ＮとＩＮＴ１＿Ｎ信号はどちらもアクティブローで、ＴＣＯＮ ＳＦＲのＩＴ０とＩＴ１ビットを通じ、エッジ検出
かレベル検出かどちらかをプログラムできます。例えばＩＴ０＝０のとき、ＩＮＴ０＿Ｎはレベル検出で、ＣＰＵはＩ
ＮＴ０＿Ｎピンがローをサンプルされたとき、ＩＥ０フラグをセットします。ＩＴ０＝１のときＩＮＴ０＿Ｎはエッジ検出
で、ＣＰＵはＩＥフラグを、ＩＮＴ０＿Ｎピンが連続的なサンプルの中でハイからローになるとき、セットします。エッジ検出割り込みの検出を確実にするため、相当するポートは４クロックサイクルの間ハイを、そして４クロック
サイクルの間ローを保持しなければいけません。レベル検出はラッチしませんので、サービスまでアクティブ61

でなければいけません。

７．６

割り込みの潜伏期間

割り込みの応答時間はＣＰＵの現在の状態により決まります。最も早い応答時間は、割り込みを検出する
１とＩＳＲへのＬＣＡＬＬを実行する４の、５命令サイクルです。
もっとも長い潜伏期間（１３命令サイクル）はＣＰＵがＭＵＬまたはＤＩＶ命令に続くＲＥＴＩ命令を現在実行しているときに発生します。この場合の１３命令サイクルは命令検出に１、ＲＥＴＩを完了するのに３、ＤＩＶまたはＭＵＬを実行するのに５、そしてＩＳＲへのＬＣＡＬＬを実行するのに４です。
最長潜伏期間の場合、応答時間は１３ｘ４＝５２クロックサイクルです。

７．７

パワダウンモードからの割り込みの潜伏期間

ｎＲＦ２４Ｅ１はＳＦＲ ０ｘＢ６，ＣＫ＿ＣＴＲＬレジスタに０ｘ２または０ｘ３を書くことにより、パワダウンモードに入るよう設定できます。ＣＰＵはクロックと電源レギュレータを休ませる制御を実行します。システムはＩＮＴ０＿
ＮまたはＩＮＴ１＿Ｎピン、ＲＴＣウェイクアップ、またはウォッチドッグリセットによってのみ再起動できます。この場合ＣＰＵは、３ないし４ＬＰ＿ＯＳＣサイクルかかるであろうクロックと電源レギュレータが再起動するまで、応答できません。この遅れは処理、温度、供給電圧により、0.6ｍｓから４ｍｓ間で変動するでしょう。同様にシャットダウンするのに、２ないし３ＬＰ＿ＯＳＣサイクル、0.4ｍｓ−３ｍｓかかります。

７．８

シングルステップ動作

ｎＲＦ２４Ｅ１の割り込み構成は、プログラムのシングルステップ実行を行う方法を備えています。ＲＥＴＩでＩＳ
Ｒから出ているとき、ＣＰＵはいつも最低でも業務プログラムの 1 命令を実行します。したがって 1 度ＩＳＲに入ると最低 1 つのプログラム命令を実行するまで再入はできません。シングルステップ実行を行うため、外部割込み（例えばＩＮＴ０＿Ｎ)をレベル検出にプログラムし、その割り込みのＩＳＲが次のように終わるよう書いてください。

ＣＰＵはＩＮＴ０＿Ｎがローになるとき、ＩＳＲに入りＩＮＴ０＿Ｎのパルスを待ちます。毎回ＩＮＴ０＿Ｎが鼓動する
とき、ＣＰＵはＩＳＲを出、プログラム命令を 1 つ実行し、そしてＩＳＲに再入します。

８

ウェイクアップタイマとウォッチドッグ

８．１

チックの校正62

｢チック｣は普通１０ｍｓの長さの間隔です。この間隔はウォッチドッグとＲＴＣウェイクアップタイマの両方の分解能の単位です。｢チック｣のソースであるＬＰ＿ＯＳＣクロックはとても不正確で、処理、温度、供給電圧により６ｍｓから３０ｍｓまで変化するでしょう。これはウォッチドッグとＲＴＣはいかなる正確なタイミング機能にも使えないだろうということを意味します。
精度は規則的な間隔にチックを校正することにより、改善することができます。
ＴＩＣＫ＿ＤＶレジスタはそれぞれのチックの間に、ＬＰ＿ＯＳＣ周期がいくつ経過するか制御します。ＬＰ＿ＯＳ
Ｃの周波数（１ｋＨｚから５ｋＨｚの間)は、ｔ２ｅｘを有効に（ＥＸＥＮ２＝１）したキャプチャモードのタイマ２で測定することができます。ｔ２ｅｘに接続された信号は正確にＬＰ＿ＯＳＣの半分の周波数です。ＳＦＲレジスタ（ＲＣＡＰ
２Ｈ，ＲＣＡＰ２Ｌ)における連続した２つのキャプチャ間の１６ビット差異はＬＰ＿ＯＳＣ周期と比例します。タイマ
２に関する詳細は１０．８．３と図１０−５：キャプチャにおけるタイマ／カウンタを見てください。
チックはＳＦＲ ０ｘＢ５で制御されます。

図 ８−１ ： チック制御レジスタ − ＳＦＲ ０ｘＢ５

63

８．２

ＲＴＣウェイクアップタイマ

ＲＴＣは割り込みを起こす単純な１６ビットダウンカウンタで、カウントがゼロに達したとき自動的にリロードします。この処理は最初は無効で、タイマラッチに最初に書いて有効になります。タイマラッチへの書き込み
は常にカウンタのリロードに続きます。カウンタは無効オペコードを制御レジスタに書くことで、再び無効にできます。ラッチとカウンタの値はともに、制御レジスタにそれぞれのコードを与えることで、読むことができます。
表８−２の説明を参照。
このカウンタはウェイクアップのために将来いつか使われます（相対時間ウェイクアップコール）。もし'Ｎ'がカウンタにかかれますと、最初のウェイクアップは書き込みの終了から'Ｎ＋１'と'Ｎ＋２'チックの間のどこかでおき、その後新しいウェイクアップは、装置が無効になるカラッチに別の値が書かれるまで、'Ｎ＋１'チックごとに発せられます。
ウェイクアップタイマはＣＰＵのＷＤＴＩ割り込みに接続されています。プログラマはＥＩＣＯＮ．３フラグを検査するか割り込みを有効にすることができます。もし発振器が停止した場合、ＥＩＥ．４割り込みイネーブルの状態に関係なく、ウェイクアップ割り込みは発振器をリスタートさせます。
ｎＲＦ２４Ｅ１はいかなる｢絶対時間機能｣も備えていません。ｎＲＦ２４Ｅ１での絶対時間機能は、私たちのＲ
ＡＭがスリープモードのときでさえ連続して通電されていますので、ソフトウェアでうまく扱うことができます。１
００バイトほどのコードと１２ＩＲＡＭを使って完全な絶対時間機能を実現（２アラームつき）するのに必要なコードのアプリケーションノートがあります。

８．３

ウォッチドッグ

ウォッチドッグはその制御レジスタＳＦＲ ０ｘＡＤに０ｘ０８を書くことで起動します。リセット以外の方法で無効にすることはできません。ウォッチドッグレジスタは、１６ビットの値を２つの８ビットレジスタ（ＳＦＲ ０ｘＡＢと０ｘＡＣ）に書き、そして正しいオペコードを制御レジスタに書くことで、ロードされます。それからウォッチドッグ
はゼロに向かってカウントダウンし、ゼロに達したとき完全にマイクロコントローラはリセットされます。リセットを避けるため、ソフトウェアは十分しばしばウォッチドッグレジスタに新しい値をロードしなければいけません。

64

図 ８−２ ： ＲＴＣとウォッチドッグのブロック図
ＲＴＣとウォッチドッグはＳＦＲ ０ｘＡＢ，０ｘＡＣ，０ｘＡＤにより制御されます。これら３つのレジスタＲＥＧＸ＿Ｍ
ＳＢ，ＲＥＧＸ＿ＬＳＢ，ＲＥＧＸ＿ＣＴＲＬは遅いＬＰ＿ＯＳＣクロックの上で動いているブロックとのインタフェースに使用されます。１６ビットレジスタ｛ＲＥＧＸ＿ＭＳＢ，ＲＥＧＸ＿ＬＳＢ｝はＣＰＵから２バイトで読み書きできます。
代表的なシーケンスは：
書込み：ビジーでなくなるまで待つ。
ＲＥＧＸ＿ＭＳＢを書く、ＲＥＧＸ＿ＬＳＢを書く、ＲＥＧＸ＿ＣＴＲＬを書く
読込み：ビジーでなくなるまで待つ。
ＲＥＧＸ＿ＣＴＲＬを書く、ビジーでなくなるまで待つ
ＲＥＧＸ＿ＭＳＢを読む、ＲＥＧＸ＿ＬＳＢを読む

注意：ＳＦＲ ０ｘＢ６ ＣＫ＿ＣＴＲＬ（６６ページ)にアクセスする前にも同様にビジーでなくなるまで待ってください。

65

表 ８−２ ： ＲＴＣとウォッチドッグのＳＦＲレジスタ

８．４

リセット

ｎＲＦ２４Ｅ１はチップ上のパワオンリセット回路またはチップ上のウォッチドッグタイマのどちらでもリセットすることができます。

８．４．１ パワオンリセット
パワオンリセット回路は供給電圧がＶＤＤｍｉｎに達するまでチップをパワオンリセット常態に保持します。この時点で内部電圧発生器と発振器は起動し、ＳＦＲは表１０−１０にリストされたリセット値に初期化され、その後ＣＰＵは標準的なリセットベクタアドレスの０ｘ００００からプログラムの実行を始めます。パワオンリセット
からの起動時間は大体１４ＬＰ＿ＯＳＣクロックサイクルで、処理、温度、供給電圧により、全体で３から１５ｍｓにばらつきます。

８．４．２ ウォッチドッグリセット
ウォッチドッグリセット信号がアクティブになりますと、ｎＲＦ２４Ｅ１はパワオンリセットと同様のリセットシーケ
ンスに入り、内部電圧発生器と発振器を起動し、ＳＦＲは表１０−１０にリストされたリセット値に初期化され、その後ＣＰＵは標準的なリセットベクタアドレスの０ｘ００００からプログラムの実行を始めます（現在のプログラ
ムでのリブートはありません)。ウォッチドッグリセットからの起動時間は幾分短く、１２ＬＰ＿ＯＳＣクロックサイ
クルで処理、温度、供給電圧により、全体で２．５から１３ｍｓに変化します。

８．４．３ プログラムリセットアドレス
プログラムリセットアドレスはＳＦＲ ０ｘＢ１（表８−３参照)ＲＳＴＲＥＡＳレジスタで制御されます。このレジス
タは原因となった最後のリセットの源を表し、２つの異なったプログラム開始アドレスの選択を備えます。初期値はパワオンリセットで、これはブートローダを起動し、一方ウォッチドッグリセットはリブートせず、すでにプログラムがロードされた０番地からリスタートします。

66

表 ８−３ ： リセット制御レジスタ − ＳＦＲ ０ｘＢ１

９

省電力モードｎＲＦ２４Ｅ１はアイドルモードとストップモードの２つの業界標準の８０５１の省電力モード（しかしたいしたことのない省電力）を備えています。したがって標準でない、より省電力化するため発振機と内部電源レギュレータの双方を止めるパワダウンモードも備えています。
アイドルとストップモードに入るための制御ビットは、表９−１に示すＳＦＲ ０ｘ８７のＰＣＯＮレジスタです。パ
ワダウンモードに入るための制御ビットは、表９−２に示すＳＦＲ ０ｘＢ６のＣＫ＿ＣＴＲＬレジスタです。

表 ９−１ ： ＰＣＯＮレジスタ − ＳＦＲ ０ｘ８７

９．１

アイドルモード

IDLE ビット（PCON.0)をセットする命令は、その命令が完了したとき、ｎＲＦ２４Ｅ１をアイドルモードに入るよ
うにします。アイドルモードでＣＰＵの処理は一時停止され、内部レジスタとメモリは現在の値を保存します。し67かしながら、標準の８０５１と異なり、ＣＰＵクロックは内部で無効にされませんので、あまり省電力になりません。
アイドルモードから出るには２つの方法があります：有効な割り込みを起動させるかウォッチドッグリセットです。有効な割り込みの起動はハードウェアのＩＤＥＬビットをクリアし、アイドルモードを終了させます。ＣＰＵは受けた割り込みに関連するＩＳＲを実行します。ＩＳＲの最後にあるＲＥＴＩ命令はｎＲＦ２４Ｅ１をアイドルモードに入れた命令に続く命令に復帰させます。ウォッチドッグリセットはｎＲＦ２４Ｅ１をアイドルモードから出し、内部レジスタをリセットし、リセットシーケンスを実行して、標準リセットベクタアドレスの０ｘ００００からプログラムの実行を開始します。

９．２

ストップモード

ＳＴＯＰビット（ＰＣＯＮ．１）をセットする命令は、その命令が完了したとき、ｎＲＦ２４Ｅ１をストップモードに入るようにします。ストップモードは、ストップモードから出る方法がウォッチ
ドッグリセットだけだということを除き、アイドルモードと同じです。パワダウンモードを使う方が効率的なので、少量の省電力のストップモードはお勧めできません。

９．３

パワダウンモード

ＳＴＯＰ＿ＣＬＯＣＫビット（ＳＦＲ ０ｘＢ６ ＣＫ＿ＣＴＲＬ．１）をセットする命令は、その命令が完了したとき、ｎＲＦ２４Ｅ１をパワダウンモードに入るようにします。パワダウンモードではＣＰＵの処理は一時停止し、一方内部レジスタとメモリは現在のデータを保ちます。ＣＰＵはクロックと電源レギュレータの制御された停止を実行します。しかしトランシーバサブシステムはクロックが止まる前に、ＲＡＤＩＯ．７＝０の設定で、別に無効にされます。
システムは、有効（Ｐ０＿ＡＬＴにより)になっていればＩＮＴ０＿Ｎ（Ｐ０．３）またはＩＮＴ１＿Ｎ（Ｐ０．４）ピンのロ
ーレベル、またはＲｔｃウェイクアップ割り込み、またはウォッチドッグリセットによってのみ、リスタートできます。
これはハードウェアのＣＫ＿ＣＴＲＬ．１ビットをクリアし、パワダウンモードを終了させます。もしウェイクアップ
イベントに関連する有効な割り込みがあれば、ＣＰＵは電源とクロックが回復した後、即座にその割り込みに関連したＩＳＲを実行します。ＩＳＲの最後にあるＲＥＴＩ命令はｎＲＦ２４Ｅ１をパワダウンモードに入れた命令に続く命令に復帰させます。ウォッチドッグリセットはｎＲＦ２４Ｅ１をパワダウンモードから出し、内部レジスタをリセットし、リセットシーケンスを実行して、標準リセットベクタアドレスの０ｘ００００からプログラムの実行を開始します。

注意：ＣＫ＿ＣＴＲＬレジスタにアクセスする前に、Ｒｔｃ／ウォッチドッグのビジービット、ＳＦＲ ０ｘＡＤのビット４（６４ページ)がセッ
トされていないことを確認してください。

68

表 ９−２ ： ＣＫ̲ＣＴＲＬレジスタ − ＳＦＲ ０ｘＢ６

９．３．１ ウェイクアップと外部イベントによる割り込みに関する説明
１：Ｐ０．４とＰ０．３のウェイクアップと割り込みは並列排他的機能を意図されています。
２：割り込み回路はパワダウンの間はアクティブでなく、ウェイクアップはパワアップの間アクティブではありません。
３：これらのピンによってｎＲＦ２４Ｅ１が起動したときはどのようにしても、イベントは割り込み回路にキャプチャ
され、そして同様に有効になっていれば割り込みは引き渡されるでしょう。レベル割り込みは常に（もしピンがハイに戻っていても)引き渡されます。立下りエッジ割り込みは引き渡されるでしょう。

９．３．２ パワダウンモードからの起動時間
起動時間はＬＰ＿ＯＳＣサイクル数＋XTAL クロックサイクルからなっています。ｆＬＰ＿ＯＳＣは電圧と温度で１から５．５ｋＨz 以上まで変化しますが、６１ページの説明のように測定することができます。ｆＸＴＡＬは１０８
ページの説明のように選択した水晶に依存します。ｆＸＴＡＬはとても高いので、起動時間はｆＬＰ＿ＯＳＣで決まります。
起動時間は下の表に要約されています。

表 ９−３ ： パワダウンモードからの起動時間

69

１０ マイクロコントローラ
組み込みマイクロコントローラは、ハードウェアの特徴や命令サイクルでダラスＤＳ８０Ｃ３２０と似ているシノプシスからのＤＷ８０５１マイクロセルです。

１０．１ メモリ構成

図 １０−１ ： メモリマップと構成

１０．１．１ プログラムメモリ／データメモリ
ｎＲＦ２４Ｅ１は図１０‐１に示すように、アドレス空間の底にユーザプログラムのための４ＫＢのプログラムメモ
リがあります。このメモリはランダムアクセスメモリの機能もあり、ｍｏｖｘとｍｏｖｃ命令でアクセスできます。
パワオンリセットの後、ブートローダは外部ＥＥＰＲＯＭからユーザプログラムをロードし、このメモリの０番地から格納します。
１０．１．１．１ メモリページング
ＳＦＲ ０ｘ９２のＭＰＡＧＥ特別機能レジスタはメモリページング機能を備えています。ＭＯＶＸ Ａ， ＠ＲｉとＭ
ＯＶＸ ＠Ｒｉ， Ａ 命令の間、ＭＰＡＧＥレジスタの内容はメモリアドレスの上位８ビットが置かれています。

70

１０．１．２ 内部データメモリ
図１０‐１に描かれている内部データメモリは次のものを含みます。
・ 直接または間接アドレッシングでアクセスできる１２８バイトのレジスタとスクラッチパッドメモリ（アドレス ０ｘ００−０ｘ７Ｆ）
・ 間接アドレッシングでアクセスできる１２８バイトのスクラッチパッドメモリ（０ｘ８０−０ｘＦＦ）
・ 直接アドレッシングでアクセスできる１２８バイトの特別機能レジスタ（ＳＦＲ)
下位３２バイトは４つのバンクの８組のレジスタ（Ｒ０−Ｒ７）が形成されます。プログラムステータスワード（ＰＳＷ）の２つのビットでどのバンクを使うか選択します。次の１６バイトはビットアドレス０ｘ００−０ｘ７Ｆのビット
アドレス可能なメモリ空間のブロックが形成されます。下位１２８バイトは全て、直接または間接アドレッシング
でアクセスできます。ＳＦＲと上位１２８バイトは同じアドレス範囲（０ｘ８０−０ｘＦＦ)を共有しています。しかし実アドレス空間は分けられ、アドレッシングのタイプで区別されています。直接アドレッシングはＳＦＲをアクセスし、間接アドレッシングの間は上位１２８バイトのＲＡＭをアクセスします。ＳＦＲの大半は、６５ページの１０．６
特別機能レジスタに述べられているように、特別機能のために予約されています。アドレスが０ｈまたは８ｈで終わるＳＦＲはビットアドレスが可能です。

１０．２ 外部 EEPROM のプログラムフォーマット
下の表にＥＥＰＲＯＭイメージのはじめの数バイトのレイアウトを示します。

表 １０‐１ ： ＥＥＰＲＯＭレイアウト
最初のバイトの下位４ビットの内容はＳＰＩ周波数を正確に設定するためブートローダで使われます。これらの欄は下記のように符号化されています。
ＳＰＥＥＤ（ビット３）：ＥＥＰＲＯＭ最高速度
０＝１MHz

訳注

１＝０．５MHz０と１が反対。

71

ＸＯ̲ＦＲＥＱ （ビット２，１，０）：水晶発振器周波数
０００＝４ＭＨｚ００１＝８ＭＨｚ０１０＝１２ＭＨｚ
０１１＝１６ＭＨｚ
１００＝２０ＭＨｚ
ｅｅｐｒｅｐプログラムはこのヘッダをプログラムファイルに追加するのに使うことができます。
命令フォーマット: ｅｅｐｒｅｐ ［ｏｐｔｉｏｎｓ］ ＜ｉｎｆｉｌｅ＞ ＜ｏｕｔｆｉｌｅ＞＜ｉｎｆｉｌｅ＞ はアセンブラまたはコンパイラの出力ファイル＜ｏｕｔｆｉｌｅ＞ はＥＥＰＲＯＭ書き込みに適合したファイル（上のフォーマットはユーザデータを含みません)
どちらのファイルも「インテルｈｅｘ」フォーマットです。
ｏｐｔｉｏｎｓ：−ｃ ｎ水晶周波数を MHz で設定します。有効な数字は４，８，１２，１６（既定）２０です。

−ｉ

チェックサムを無視−ｐ ｎプログラムメモリの大きさを設定（既定で４０９６バイト)−ｓ

遅いＥＥＰＲＯＭ速度（５００ＫＨｚ)を設定

１０．３ 命令セット
ｎＲＦ２４Ｅ１の全ての命令は業界標準の８０５１とバイナリコードで互換であり、同じ機能を果たします。これらの命令のビット・フラグ・その他のステータス機能の影響は業界標準の８０５１と同一です。しかし、命令サイ
クルあたりのクロック数と命令サイクル内のタイミングとどちらも、命令タイミングは異なります。
表１０‐３から表１０‐８にｎＲＦ２４Ｅ１の命令セットと命令を終えるのに必要なクロック数を掲げます。

表 １０‐２ ： 命令セット表の凡例

72

表１０−３から表１０−８は表１０−２の記号とニーモニックを使って定義します。

73

表 １０‐３ ： ｎＲＦ２４Ｅ１ 命令セット、算術演算命令74

表 １０‐４ ： ｎＲＦ２４Ｅ１ 命令セット、論理演算命令75

表 １０‐５ ： ｎＲＦ２４Ｅ１ 命令セット、ブール代数演算命令76

表 １０‐６ ： ｎＲＦ２４Ｅ１ 命令セット、データ転送命令＊ サイクル数は２＋ＣＫＣＯＮ．２−０（ＣＫＣＯＮ．２−０はＳＦＲ ０ｘ８Ｅ ＣＫＣＯＮの３ＬＳＢの整数値です。）
初期値は３サイクル。

77

表 １０‐７ ： ｎＲＦ２４Ｅ１ 命令セット、分岐命令78

表 １０‐８ ： ｎＲＦ２４Ｅ１ 命令セット、その他の命令

１０．４ 命令タイミングｎＲＦ２４Ｅ１の命令サイクルは、標準８０５１の１命令あたり１２クロックサイクルに対し、４クロックサイクルの長さです。これはほとんどの命令で実行時間が３倍改善されると言い換えられます。しかしながらいくつかの命令は、標準８０５１で行うのと異なった、ｎＲＦ２４Ｅ１の命令サイクル数が要求されます。標準８０５１ではMUL と DIV を除く全ての命令は１ないし２命令サイクルで完了します。ｎＲＦ２４Ｅ１アーキテクチャでは命令は１から５命令サイクルの間で完了します。例えば標準８０５１の場合、ＭＯＶＸ Ａ，＠ＤＰＴＲとＭＯＶ ｄｉｒｅｃｔ，ｄｉｒｅｃｔ命令はどちらも実行するのに２命令サイクル（２４クロックサイクル)かかります。ｎＲＦ２４Ｅ１アーキテクチ
ャの場合、ＭＯＶＸ Ａ，＠ＤＰＴＲは２命令サイクル（８クロックサイクル)かかり、ＭＯＶ ｄｉｒｅｃｔ，ｄｉｒｅｃｔは 3 命令サイクル（１２クロックサイクル)かかります。どちらの命令も標準８０５１で行うよりも、ｎＲＦ２４Ｅ１の方が早く実行しますが、しかし異なったクロックサイクル数が要求されます。
実時間イベントのタイミングのため、表１０‐３から１０‐８の命令サイクル数を使い、ソフトウェアループのタ
イミングを計算してください。これらの表のバイト欄は命令を実行するのに必要なメモリアクセス数（バイト)を示しています。ほとんどの場合、バイト数は命令を完了するのに要求される命令サイクル数と等しくなっています。しかしながら表１０‐３に示すように、メモリアクセスより多くの命令サイクルが要求されるいくつかの命令（例えばＤＩＶとＭＵＬ)があります。初期値でｎＲＦ２４Ｅ１のタイマ／カウンタはインクリメントごとに１２クロックサイクルで動作しますので、タイマ基準のイベントは標準８０５１と同じタイミングになります。タイマは、より速い速度のｎＲＦ２４Ｅ１の優位性を得るため、インクリメントごとに４クロックサイクルに設定できます。

１０．５ 二つのデータポインタ
ｎＲＦ２４Ｅ１はデータメモリのブロック移動を加速するため２つのデータポインタを使用します。標準８０５１のデータポインタ（ＤＰＴＲ）は外部データＲＡＭや周辺装置をアドレスするための１６ビットの値です。ｎＲＦ２４Ｅ１
では標準データポインタを、ＳＦＲの０ｘ８２と０ｘ８３の位置で、ＤＰＴＲ０として維持します。ＤＰＴＲ０を使うため、コードの変更は必要ありません。ｎＲＦ２４Ｅ１はＳＦＲの０ｘ８４と０ｘ８５の位置に２番目のデータポインタ（ＤＰＴＲ１）を追加しました。ＤＰＴＲ選択レジスタＤＰＳ（ＳＦＲ ０ｘ８６）のＳＥＬビットでアクティブなポインタを選択します。
ＳＥＬ＝０のとき、ＤＰＴＲを使う命令はＤＰＬ０とＤＰＨ０を使用します。ＳＥＬ＝１のとき、ＤＰＴＲを使う命令はＤ
ＰＬ１とＤＰＨ１を使用します。ＳＥＬは０ｘ８６の位置のＳＦＲのビット０です。０ｘ８６のＳＦＲの他のビットは使用されません。ＤＰＴＲに関する命令の全ては現在の選択されたデータポインタを使用します。アクティブなポイン
タを切り替えるにはＳＥＬビットを切り替えてください。それを行う最も早い方法はインクリメント命令（ＩＮＣ ＤＰ
Ｓ)を使うことです。これはソースアドレスからディスティネーションアドレスへの切り替えに 1 命令しか要求せ79

ず、ブロック移動のときソースとディスティネーションアドレスを保存しなければならないことから、アプリケー
ションのコードを節約できます。
２つのデータポインタを使うことで、大きなブロックのデータを移動するとき、とても高い効率を提供します。
２つのデータポインタに関するＳＦＲの位置：

１０．６ 特別機能レジスタ
特別機能レジスタ（ＳＦＲ）はｎＲＦ２４Ｅ１の機能のいくつかを制御します。
ｎＲＦ２４Ｅ１のＳＦＲの大半は標準の８０５１と同一です。しかし、標準の８０５１には存在しない機能を制御するＳＦＲが追加されています。
表１０‐９にｎＲＦ２４Ｅ１のＳＦＲを掲げ、どのＳＦＲが標準８０５１のＳＦＲ空間に含まれていないか示します。ｎＲＦ２４Ｅ１のソフトウェアを書くとき、ｎＲＦ２４Ｅ１とカスタムの周辺装置に特有のＳＦＲを定義したステートメント
を使ってください。表１０‐９で、０または１を含む位置のＳＦＲビットは書き込むことができず、読み出し時はいつも示された値（０または１）を返します。“‐”を含む位置のＳＦＲビットは在りますが使われていません。表１０‐１０はそれぞれのレジスタの詳しい説明へのポインタと合わせて、パワオンリセットまたはウォッチドッグリセ
ット後のそれぞれのＳＦＲの値を示しています。ＳＦＲアドレス空間の未使用のアドレスは予約され、書き込まれてはいけないことに注意してください。
次ページの表１０−９に注意してください：（１）

標準８０５１のアーキテクチャにない部分（２）

ｎＲＦ２４Ｅ１特有のレジスタ（３）

標準８０５１と異なるＰ０とＰ１

80

81

表 １０‐９ ： 特別機能レジスタ 一覧表

82

83

表 １０‐１０ ： アルファベット順特別機能レジスタのリセット値と説明
表１０−１１にはＰＳＷレジスタ中のビットの機能を掲げています。

表 １０‐１１ ： ＰＳＷレジスタ − ＳＦＲ ０ｘＤ０

１０．７ ｎＲＦ２４Ｅ１に特有のＳＦＲレジスタ
下の表にｎＲＦ２４Ｅ１に特有のＳＦＲレジスタ（標準８０５１のレジスタマップに無い)をリストします。Ｐ０，Ｐ１とＲＡＤＩＯレジスタは標準８０５１のＰ０，Ｐ１とＰ２ポートのアドレスを使用します。これらのポートの機能性は標
準８０５１の対応するポートに似ていますが、同一ではありません。

このビットアドレス可能なレジスタは使用方法が、標準８０５１と異なっています。

84

表 １０‐１２ ： ｎＲＦ２４Ｅ１に特有のＳＦＲレジスタ85

１０．８ タイマ／カウンタ
ｎＲＦ２４Ｅ１は３つのタイマ／カウンタ（タイマ０、タイマ１、タイマ２）を含んでいます。それぞれのタイマ／カウンタは、ＣＰＵクロックを基準にしたクロックレートのタイマか、またはｔ０ピン（タイマ 0）、ｔ１ピン（タイマ１）、ｔ２
ピン（タイマ２）をクロックにしたイベントカウンタか、どちらかで動作することができます。これらのピンはポート０と１の切り替え機能ビットです：ｔ０はＰ．５、ｔ１は P０．６、ｔ２はＰ１．０です。詳細は３章のＩ／Ｏポートを見てください。
それぞれのタイマ／カウンタは３つのＳＦＲでソフトウェアからアクセス可能な１６ビットのレジスタからなっています。（表１０−９：特別機能レジスタ）

１０．８．１ タイマ０と１
タイマ０と１はどちらも、ＴＭＯＤ ＳＦＲ（表１０−１３)とＴＣＯＮ ＳＦＲ（表１０−１４)を通じて制御される、４つのモードで動作します。４つのモードは：− １３ビットタイマ／カウンタ（モード０)− １６ビットタイマ／カウンタ（モード１)− オートリロードの８ビットカウンタ（モード２)− ２組の８ビットカウンタ（モード３、タイマ０のみ)

86

表 １０−１３ ： ＴＭＯＤレジスタ − ＳＦＲ ０ｘ８９

表 １０−１４ ： ＴＣＯＮレジスタ − ＳＦＲ ０ｘ８８
１０．８．１．１ モード０
図１０−２：タイマ０／１ − モード０と１に図解したモード０動作はタイマ０とタイマ１で同一です。モード０のとき、タイマはＴＬ０（またはＴＬ１）の０−４ビットとＴＨ０（またはＴＨ１）の全８ビットを使用した１３ビットカウンタに構成されます。ＴＣＯＮ ＳＦＲのタイマイネーブルビット（ＴＲ０／ＴＲ１）がタイマを起動します。Ｃ／Ｔビットはタイマ／カウンタのクロックソース、ＣＰＵクロックまたはｔ０／ｔ１を選択します。ＧＡＴＥビットが０かまたはＧＡＴ
Ｅビットが１でかつ該当する割り込みピン（ＩＮＴ０̲ＮまたはＩＮＴ１̲Ｎ）が無効である限り、タイマは選択されたソースからの変化を数えます。ＩＮＴ０＿ＮとＩＮＴ１＿Ｎポート０の切り替え機能ビットです。表３‐１：ポート機能を見てください。１３ビットカウントが０ｘ１ＦＦＦ（全て１)からインクリメントするとき、カウンタは全て０になり、ＴＣＯ
Ｎ ＳＦＲのＴＦ０（またはＴＦ１）ビットはセットされ、ｔ０̲ｏｕｔ（またはｔ１̲ｏｕｔ）ピンは１クロックサイクルの間ハイになります。モード０のときＴＬ０（またはＴＬ１）の上位３ビットは不定ですので、ソフトウェアがレジスタを評価する
ときマスクされなければなりません。

87

１０．８．１．２ モード１
モード１動作はタイマ０とタイマ１で同一です。モード１の場合、タイマは１６ビットカウンタに構成されます。
図１０−２：タイマ０／１ − モード０と１に図解されたように、ＬＳＢレジスタ（ＴＬ０またはＴＬ１）の全８ビットが使われます。カウントが０ｘＦＦＦＦからインクリメントするとき、カウンタは全て０になります。他の点では、モード１の動作はモード０と同じです。

図 １０‐２ ： タイマ０／１ − モード０と１
１０．８．１．３ モード２
モード２動作はタイマ０とタイマ１で同一です。モード２のとき、タイマは開始値を自動的にリロードする８ビットカウンタに構成されます。ＬＳＢレジスタ（ＴＬ０またはＴＬ１）はカウンタで、ＭＳＢレジスタ（ＴＨ０またはＴＨ１)
はリロードする値を蓄えます。図１０‐３：タイマ０／１ − モード２に図解されたように、モード２カウンタの制御
はモード０とモード１に対するのと同様です。しかしながらモード２では、ＴＬｎが０ｘＦＦからインクリメントするとき、ＴＨｎに蓄えられた値がＴＬｎにリロードされます。

88

図 １０‐３ ： タイマ０／１ − モード２
１０．８．１．４ モード３
モード３のとき、タイマ０は２組の８ビットカウンタとして動作し、タイマ１は計数を停止しその値を保持します。
図１０-４：タイマ０-モード３に示しますように、ＴＬ０は、通常のタイマ０制御ビットで制御される、８ビットカウン
タに構成されます。ＴＬ０は、Ｃ／Ｔビットで決まる、ＣＰＵクロックサイクル（４または１２分周）かｔ０のハイからローへの変化かどちらかを計数することができます。ＧＡＴＥ機能はＩＮＴ＿０信号に対するイネーブル制御をカウンタに与えるために使用できます。

図 １０−４ : タイマ０ - モード３89

ＴＨ０は独立した８ビットカウンタとして機能します。しかしながらＴＨ０はＣＰＵクロックサイクル（４または１２分周）のみ計数できます。タイマ 1 の制御とフラグビット（ＴＲ１とＴＦ１）は、ＴＨ０の制御とフラグビットとして使用されます。
タイマ０がモード３にいるとき、タイマ０がタイマ１の制御ビット（ＴＲ１）と割り込みフラグ（ＴＦ１）を使用するので、タイマ１の使い方は制限されます。タイマ１はそれでもボーレート発生器として使えますし、タイマ１の計数
値はまだＴＬ１とＴＨ１レジスタに有効です。タイマ０がモード３にいるときのタイマ１の制御はタイマ１モードビッ
トを通します。タイマ１をオンするにはタイマ１をモード０，１または２に設定します。タイマ１をオフするにはモード３に設定します。タイマ１のＣ／ＴビットとＴ１Ｍビットはまだタイマ１に対し有効です。したがってタイマ１はＣＰＵ̲ｃｌｋ／４、ＣＰＵ̲ｃｌｋ／１２、またはｔ１ピンのハイからローへの変化を数えることができます。タイマ０がモード３にいても、タイマ１のＧＡＴＥ機能もまた有効です。

１０．８．２ タイマレート制御
ｎＲＦ２４Ｅ1 タイマに対する初期のタイマクロック構成は、標準８０５１と同様、インクリメントあたり１２ＣＰＵク
ロックサイクルです。しかしｎＲＦ２４Ｅ１では命令サイクルは４クロックサイクルです。
初期のレート（タイマインクリメントあたり１２クロック）の使用は、ボーレートのような実時間に依存した、現存のアプリケーションコードが適切に動作するよう考慮しています。しかしながら早いタイミングを要求される
アプリケーションはタイマを、表１０‐１５：ＣＫＣＯＮレジスタ−ＳＦＲ 0x8E で説明されているＳＦＲの 0x8E の位
置のクロック制御レジスタ（ＣＫＣＯＮ）のビットを設定することで、４クロックサイクルごとにインクリメントするよう設定できます。
タイマクロックレートを制御するＣＫＣＯＮのビットは：

ＣＫＣＯＮレジスタビットが１にセットされたとき、関連するカウンタは４クロックサイクル間隔でインクリメント
します。ＣＫＣＯＮビットがクリアされたとき、関連するカウンタは１２クロックサイクル間隔でインクリメントします。タイマ制御はそれぞれ他と独立しています。３組のカウンタに対する初期設定は０、すなわち１２クロック間隔です。これらのビットはカウンタモードには影響しません。

表 １０−１５ ： ＣＫＣＯＮレジスタ − ＳＦＲ ０ｘ８Ｅ
既定の初期値はｘ０１,すなわちＭＯＶＸは３サイクルかかります。
90

１０．８．３ タイマ２
タイマ２は１６ビットでのみ動作し、タイマ０と１にはないいくつかの能力を提供します。タイマ２のモードは：タイマ２に関連するＳＦＲは：

表 １０‐１６ ： Ｔ２ＣＯＮレジスタ − ＳＦＲ ０ｘＣ８

91

１０．８．３．１ タイマ２モード制御
表１０−１７はどのようにＳＦＲビットがタイマ２のモードを決定するかまとめています。

表 １０‐１７ ： タイマ２のモード制御要約
１０．８．３．２ １６ビット タイマ／カウンタモード
図１０−５：タイマ２−キャプチャ機能を持つタイマ／カウンタは、いかにタイマ２が任意のキャプチャ機能を持ったタイマ／カウンタモードで動作するかを図解しています。Ｃ／Ｔ２ビットは、１６ビットカウンタがクロックサイクル（４または１２分周）か、ｔ２ピンのハイからローへの変化か、どちらを計数するか決定します。ＴＲ２ビットはカウンタを有効にします。カウントが 0xFFFF からインクリメントするとき、ＴＦ２フラグはセットされ、ｔ２̲ｏｕ
ｔは１クロックサイクルの間ハイになります。

図 １０‐５ ： タイマ２ − キャプチャ機能を持つタイマ／カウンタ
１０．８．３．３ キャプチャ機能を持つ１６ビットタイマ／カウンタモード
図１０−５：タイマ２−キャプチャ機能を持つタイマ／カウンタで説明されるタイマ２のキャプチャモードは、キャプチャレジスタと制御信号を付加した１６ビットタイマ／カウンタモードと同じです。Ｔ２ＣＯＮ ＳＦＲのＣＰ／
ＲＬ２ビットはキャプチャ機能を有効にします。ＣＰ／ＲＬ２＝１の場合、ＥＸＥＮ２＝１のときｔ２ｅｘのハイからローへの変化は、タイマ２の値がキャプチャレジスタ（ＲＣＡＰ２ＬとＲＣＡＰ２Ｈ）へ取り込まれる原因になります。

92１０．８．３．４ オートリロード機能を持つ１６ビットタイマ／カウンタモード
ＣＰ／ＲＬ２＝０のときタイマ２は、図１０−６：タイマ２−オートリロード機能を持つタイマ／カウンタに例示されるオートリロードモードに構成されます。カウンタ入力の制御は他の１６ビットカウンタモードと同様です。カ
ウントが０ｘＦＦＦＦからインクリメントするとき、タイマ２はＴＦ２フラグをセットし、起動値はＴＬ２とＴＨ２にリロードされます。ソフトウェアは起動値をＲＣＡＰ２ＬとＲＣＡＰ２Ｈレジスタにあらかじめ取り込んでおかなければいけません。
タイマ２がオートリロードモードにいる場合、ＥＸＥＮ２＝１で有効ならば、リロードはｔ２ｅｘピンのハイからローへの変化によって強制されます。

図 １０‐６ ： タイマ２ − オートリロード機能を持つタイマ／カウンタ
１０．８．３．５ ボーレート発生器モード
ＲＣＬＫまたはＴＣＬＫのどちらかの設定は、タイマ２がシリアルモード１か３のシリアルポートのためのボーレートを発生するよう構成します。ボーレート発生器モードにいるとき、タイマ２はオートリロードモードで機能します。しかしながらＴＦ２フラグの代わりに、カウンタのオーバフローはシリアルポート機能のためのシフトク
ロックを発生します。普通のオートリロードモードと同様、オーバフローもＲＣＡＯ２ＬとＲＣＡＰ２Ｈにあらかじめ取り込まれた起動値をＴＬ２とＴＨ２レジスタにリロードする原因となります。
ＴＣＬＫ＝１またはＲＣＬＫ＝１のどちらかの場合、タイマ２はＣＰ／ＲＬ２ビットの状態にかかわらず、オートリ
ロード動作になります。
ボーレート発生器として動作するとき、タイマ２はＴＦ２ビットをセットしません。このモードの場合、タイマ２の割り込みは、ＥＸＥＮ２＝１で有効になっているときのみ、ＥＸＦ２ビットをセットしたｔ２ｅｘピンのハイからローへの変化によってのみ発生させられます。ボーレート発生器モードのカウンタの時間基準はＣＰＵ̲ｃｌｋ／２です。
外部のクロック源を使用するには、Ｃ／Ｔ２を１にセットし、要求されるクロックのソースをｔ２ピンに加えてください。

93図 １０‐７ ： タイマ２ − ボーレート発生器モード

１０．９ シリアルインタフェイス
ｎＲＦ２４Ｅ１は標準の８０５１シリアルポートと同じ動作のシリアルポートをひとつ備えています。２つのシリア
ルポートピンｒｘｄとｔｘｄはＰ０．１とＰ０．２の切り替え機能で利用できます。詳細は３章Ｉ／Ｏポートをご覧ください。
シリアルポートは同期あるいは非同期モードで操作することができます。同期モードではｎＲＦ２４Ｅ１はシリ
アルクロックを発生し、シリアルポートは半二重モードで動作します。非同期モードではシリアルポートは全二重モードで動作します。全てのモードでｎＲＦ２４Ｅ１は、ソフトが前のデータを読み終わる前に入ってくるデー
タをＵＡＲＴが受け取れるように、受信データを保持レジスタにバッファします。
シリアルポートは、表１０−１８のような４つのモードのうちのひとつで動作します。

表 １０−１８ ： シリアルポートモード
シリアルポートに関連するＳＦＲは：94

表 １０−１９： ＳＣＯＮレジスタ − ＳＦＲ ０ｘ９８

１０．９．１ モード０
シリアルモード０は同期・半二重通信を備えています。シリアルポート０で、入力と出力の双方のシリアルデータはｒｘｄピンに現れ、ｔｘｄは送信、受信双方のシフトクロックを供給します。ｒｘｄとｔｘｄはポート０の切り替え機
能ビットです。表３‐２：ポート０（Ｐ０）のポートとピンの設定のための機能も併せて見てください。ｎＲＦ２４Ｅ１のオープンドレインポートの不足は、ｒｘｄピンの方向制御をプログラマの責任にします。
シリアルモード０のボーレートは、ＳＭの状態により、ＣＰＵ̲ｃｌｋ／１２またはＣＰＵ̲ｃｌｋ／４です。ＳＭ２＝０のときボーレートはＣＰＵ̲ｃｌｋ／１２で、ＳＭ２＝１のときＣＰＵ̲ｃｌｋ／４です
モード０動作は標準８０５１と同等です。命令がＳＢＵＦ ＳＦＲに書き込まれた時、データ送信は始まります。
ＵＡＲＴは最下位ビットを最初に、選択されたボーレートで、８ビットの値が終わるまで、データを外へ移動します。
モード０のデータ受信は、関連するＳＣＯＮ ＳＦＲのＲＥＮビットがセットされＲＩビットがクリアされたときに、開始します。シフトクロックは始動し、ＵＡＲＴはデータを、シフトクロックのそれぞれの立ち上がりエッジで、８ビットが受信し終わるまで、中に移動します。８番目のビットが中に移動した後の１マシンサイクルで、ＲＩビット
はセットされ、ＲＩビットがソフトウェアがクリアするまで、受信を停止します。

95

図 １０‐８ ： シリアルポートモード０の低速度（ＣＰＵ̲ｃｌｋ／１２）動作の受信タイミング

図 １０‐９ ： シリアルポートモード０の高速度（ＣＰＵ̲ｃｌｋ／４）動作の受信タイミング

図 １０‐１０ ： シリアルポートモード０の低速度（ＣＰＵ̲ｃｌｋ／１２）動作の送信タイミング

図 １０‐１１ ： シリアルポートモード０の高速度（ＣＰＵ̲ｃｌｋ／４）動作の送信タイミング

１０．９．２ モード１
モード１は、１スタートビット・８データビット・１ストップビットの計１０ビットを使った、標準的な非同期・全二重通信を備えています。受信動作のため、ストップビットはＲＢ８に保存されます。データビットは最下位ビットが最初に送受信されます。
１０．９．２．１ モード１のボーレート
モード１のボーレートはタイマのオーバフロー機能です。シリアルポートはボーレートを発生するため、タイ
マ１またはタイマ２のどちらでも使えます。タイマがその最大カウント（タイマ１で０ｘＦＦ、タイマ２で０ｘＦＦＦＦ）からインクリメントするたびに、クロックはボーレート回路に送られます。クロックはボーレート発生のため、１６分周されます。タイマ１を使うとき、ＳＭＯＤビットはいずれにせよ、タイマ１のロールオーバレートを２分周する選択をします。したがって、タイマ１を使っているとき、ボーレートは次式で決定されます。

96

タイマ２を使っているとき、ボーレートは次式で決定されます。

タイマ１をボーレート発生器として使うため、すべてのカウンタモードが使えますが、モード２（自動リロードの８ビットカウンタ）が最良です。タイマ１のリロード値はＴＨ１レジスタに保存され、それはタイマ１のための完
全な式を作ります。

上の式で分母の４はＣＫＣＯＮ ＳＦＲのＴ１Ｍビットをセットすることにより得られます。既知のボーレートから（ＴＭ１＝０のとき）ＴＨ１の値を引き出すため、次式を使用してください。

タイマ１をモード１に、タイマ１割り込みを１６ビットソフトウェアリロードに初期化して使うよう設定し、タイマ１
割り込みを可能にすることで超低速ボーレートを達成することができます。表１０‐２０に共通シリアルポートのボーレートの種類のリロード値の例を掲げます。

表 １０−２０： シリアルポートモード１ボーレートのためのタイマ１リロード値
タイマ２をボーレート発生器として使用するため、タイマ２をオートリロードモードに設定し、Ｔ２ＣＯＮ ＳＦＲのＴＣＬＫと／またはＲＣＬＫをセットしてください。ＴＣＬＫはタイマ２の送信ボーレート発生器を選択し、ＲＣＬＫ
はタイマ２の受信ボーレート発生器を選択します。タイマ２の１６ビットリロード値はＲＣＡＰ２ＬとＲＣＡＰ２Ｈ Ｓ
ＦＲに保存され、それはタイマ２のボーレートのための式を作ります。

97ここでＲＣＡＰ２Ｈ，ＲＣＡＰ２Ｌは符号なし１６進数をとるＲＣＡＰ２ＨとＲＣＡＰ２Ｌの内容です。分母の３２は、２分周されたＣＰＵ̲ｃｌｋと１６分周されたタイマ２オーバフローの結果です。ＴＣＬＫまたはＲＣＬＫを１にセットすると、図１０‐７：タイマ２‐ボーレート発生器モードのように、ＣＫＣＯＮ ＳＦＲのＴ２Ｍビットで決定された４または１２に変わり、自動的に２分周したＣＰＵ̲ｃｌｋ信号が元になります。
既知のボーレートから要求されるＲＣＡＰ２ＨとＲＣＡＰ２Ｌの値を得るには、次式を使用してください。

表１０‐２１にいろいろな望まれるボーレートに対する、ＲＣＡＰ２ＬとＲＣＡＰ２Ｈの値の例を掲げます。

表 １０‐２１ ： シリアルポートモード１のボーレートのためのタイマ２リロード値
ＲＣＬＫまたはＴＣＬＫのどちらかがセットされたとき、ＴＦ２フラグはタイマ２ロールオーバでセットされません
し、ｔ２ｅｘリロードトリガは無効です。
１０．９．２．２ モード１ 送信
図１０‐１２はモード１の送信タイミングを例示しています。モード１の場合、ソフトウェアがＳＢＵＦレジスタに書き込んだ後、１６分周カウンタの最初のロールオーバの後、ＵＡＲＴは送信を開始します。ＵＡＲＴは次の順
でｔｘｄピンからデータを送信します。スタートビット、８つのデータビット（最下位ビットが最初）、ストップビット。
ＴＩビットはストップビットが送信された２クロックサイクル後にセットされます。

98

図 １０‐１２ ： シリアルポートのモード１送信タイミング
１０．９．２．３ モード１ 受信
図１０‐１３はモード１の受信タイミングを例示しています。ＲＥＮビットによって有効にされているとき、ｒｘｄ̲ｉｎのスタートビットのたち下がりエッジを受信したとき、受信を開始します。この目的のため、ｒｘｄ̲ｉｎはボーレートのビットごとに１６回サンプルします。スタートビットの立ち下がりエッジが検出されたとき、受信クロックを発生するのに使う１６分周されたカウンタはビットの境界にロールオーバを整列させるため、リセットします。

図 １０‐１３ ： シリアルポートのモード１受信タイミング
ノイズを除去するためシリアルポートは、それぞれのビット時間の中央の連続した３つのサンプルの多数決で、それぞれの受信ビットの内容を確立します。これはとりわけスタートビットに対しては真実です。もし連続した３つのサンプル（ロー）の多数決で確認されなければ、シリアルポートは受信を停止し、ｒｘｄ̲ｉｎの別の立ち下がりエッジを待ちます。
ストップビット時間の中央で、シリアルポートは以下の条件を照合します。

99

もし上の条件に会うと、シリアルポートはそれからＳＢＵＦレジスタに受信したバイトを書込み、ＲＢ８にストップビットを積み、そしてＲＩビットをセットします。もし上の条件に会わないと、受信したデータは失われ、ＳＢＵＦ
レジスタとＲＢ８ビットには積まれなく、ＲＩビットはセットされません。ストップビット時間の中央の後、シリアル
ポートはｒｘｄ̲ｉｎピンの別のハイからローへの変化を待ちます。
モード１動作は、ＣＰＵ̲ｃｌｋ／１２（初期値）でタイマ１と２を使用しているとき、標準８０５１と同様です。

１０．９．３ モード２
モード２は全部で１１のビットを使い、非同期、全二重通信を備えています。

データビットは最下位ビットを最初に、送受信されます。送信のため、９番目のビットはＴＢ８の値で決定されます。９番目のビットをパリティビットとして使うため、Ｐビット（ＳＦＲ ＰＳＷ．０）の値をＴＢ８へ移動してください。
モード２のボーレートはＳＭＯＤビットで決められる、ＣＰＵ̲ｃｌｋ／３２またはＣＰＵ̲ｃｌｋ／６４です。モード２ボーレートの式は：

モード 2 動作は標準８０５１と同じです。
１０．９．３．１ モード２ 送信
図１０‐１４はモード２の送信タイミングを例示しています。ソフトウェアがＳＢＵＦに書くのに続く１６分周カウンタの最初のロールオーバの後に、送信は開始します。ＵＡＲＴは次の順でｔｘｄピンにデータを送出します。ス
タートビット、８つのデータビット（最下位ビットが最初）、９番目のビット、ストップビット。ストップビットがｔｘｄピンに置かれたとき、ＴＩビットはセットされます。

100

図 １０‐１４ ： シリアルポートのモード２送信タイミング
１０．９．３．２ モード２受信
図１０‐１５はモード２の受信タイミングを例示しています。ＲＥＮビットによって有効にされているとき、ｒｘｄ̲ｉｎのスタートビットのたち下がりエッジを受信したとき、受信を開始します。この目的のため、ｒｘｄ̲ｉｎはボーレートのビットごとに１６回サンプルします。スタートビットの立ち下がりエッジが検出されたとき、受信クロックを発生するのに使う１６分周されたカウンタはビットの境界にロールオーバを整列させるため、リセットします。

図 １０‐１５ ： シリアルポートのモード２受信タイミング
ノイズを除去するためシリアルポートは、それぞれのビット時間の中央の連続した３つのサンプルの多数決で、それぞれの受信ビットの内容を確立します。これはとりわけスタートビットに対しては真実です。もし連続した３つのサンプル（ロー）の多数決で確認されなければ、シリアルポートは受信を停止し、ｒｘｄ̲ｉｎの別の立ち下がりエッジを待ちます。
ストップビット時間の中央で、シリアルポートは以下の条件を照合します。

101

もし上の条件に会うと、シリアルポートはそれからＳＢＵＦレジスタに受信したバイトを書込み、ＲＢ８に９番目の受信したビットを積み、そしてＲＩビットをセットします。もし上の条件に会わないと、受信したデータは失われ、ＳＢＵＦレジスタとＲＢ８ビットには積まれなく、ＲＩビットはセットされません。ストップビット時間の中央の後、
シリアルポートはｒｘｄ̲ｉｎピンの別のハイからローへの変化を待ちます。

１０．９．４ モード３
モード３は全部で１１のビットを使い、非同期、全二重通信を備えています。

モード３の送受信動作はモード２と同じです。モード３のボーレ−ト発生器はモード１と同じです。すなわち
モード３は、モード２のプロトコルとモード１のボーレートの組み合わせです。図１０−１６はモード３の送信タイ
ミングを例示しています。モード３動作は、ＣＰＵ̲ｃｌｋ／１２（初期値）でタイマ１と２を使用しているとき、標準８０５１と同様です。

図 １０‐１６ ： シリアルポートのモード３送信タイミング
図１０−１７はモード３の受信タイミングを例示しています。

102

図 １０‐１７ ： シリアルポートのモード３受信タイミング

１０．９．５ マルチプロセッサ通信
シリアルポートのためのＳＣＯＮ ＳＦＲのＳＭ２ビットがセットされているとき、マルチプロセッサ通信機能が有効です。マルチプロセッサ通信モードのとき、受信された９番目のビットはＲＢ８に保存され、ストップビットが受信された後、ＲＢ８＝１のときのみシリアルポート割り込みは起動させられます。マルチプロセッサ通信機能の代表的な使い方は、マスタがデータの塊をいくつかのスレーブのひとつに送りたいときです。マスタは最初に目的のスレーブを見分けるアドレスバイトを送信します。アドレスバイトを送信するとき、マスタは９番目のビットを１にセットします。データバイトのとき、９番目のビットは０です。
ＳＭ２＝１のとき、データバイトで割り込まれるスレーブはありません。しかしながら、どのスレーブが指定されたか、スレーブが受信したアドレスバイトを検査できるように、アドレスバイトは全てのスレーブに割り込みます。アドレスのでコードは、割り込みサービスルーチンの間に、ソフトウェアでされなければいけません。指定されたスレーブはそのＳＭ２ビットをクリアし、データバイトの受信の準備をします。指定されなかったスレー
ブはＳＭ２ビットの設定を残し、入力されるデータバイトを無視します。

103

１１

電気的仕様

104

表 １１‐１ ： ｎＲＦ２４Ｅ１ 電気的仕様

105

１２

パッケージ外形図

１２．１ グリーンパッケージ外形図106

図 １２‐１ ： ｎＲＦ２４Ｅ１ グリーンパッケージ外形図

１２．２

ソータイプの外形107図 １２‐２ ： ｎＲＦ２４Ｅ１ パッケージ外形図

１３

絶対最大定格１３．１．１ 注意
静電気に敏感な素子です。取り扱いにご注意ください。

108

109

１４

高周波周辺情報

１４．１．１ アンテナ出力
ＡＮＴ１とＡＮＴ２出力ピンはアンテナへの平衡高周波出力を備えています。ピンは高周波チョークまたはダイポールアンテナの中心点のどちらかを経由して、ＶＤＤに直流的な通路を持たなければいけません。ＡＮＴ１／ＡＮＴ２の間から見た負荷インピーダンスは２００−７００オームの範囲に無ければいけません。最高出力（０dBm）には１００＋ｊ１７５オームの負荷が推奨です。より低い負荷インピーダンス（例えば５０オーム）は単純な整合ネットワークで実現できます。

１４．１．２ 出力電力の調整

表 １４‐１ ： ｎＲＦ２４Ｅ１の高周波出力電力設定

１４．１．３ 水晶の仕様
公差は初期精度と、温度と経年による公差を含んでいます。

表 １４‐２ ： ｎＲＦ２４Ｅ１の水晶の仕様
低消費電力と早い起動時間を解決する水晶発振機を達成するには、負荷容量の値の低い水晶を指定することをお勧めします。ＣＬ＝１２ｐＦであれば問題ありませんが、〜１６ｐＦまででも使用は可能です。
クリスタルの等価並列容量値やＣＯを低くすることは良いことですがコストが問題となります。
ＣＯ̲ｍａｘ＝７．０ｐＦのクリスタル場合、ＣＯは通常１．５ｐＦです。
選択された周波数値はｎＲＦ２４Ｅ１のコンフィギュレーションワードにも設定しなければいけません。表４−
１２：水晶周波数設定を見てください。

110

１４．２

プリント基板の配置とデカップリングのガイドライン

良いＲＦ特性を得るためにはＰＣＢ設計が重要になります。ＰＣＢ設計の不備は性能や機能の低下を引き起こしてしまいます。Ｎｏｒｄｉｃ社ｗｅｂサイト（ｗｗｗ．ｎｖｌｓｉ．ｎｏ)にＮｏｒｄｉｃ社でクオリファイしたｎＲＦ２４０１とマッ
チング回路等を含む周辺部品のＲＦレイアウトがダウンロードできるよう準備されていますので活用ください。
性能を最適化するため、最低限グランドプレーンを含んだ２層ＰＣＢの使用をお薦めします。ｎＲＦ２４０１のＤＣ電源はＶＤＤに出きる限り近い位置で高性能ＲＦコンデンサを使用しデカップリングする必要があります。
（表２２参照）大容量の表面実装コンデンサ（例：４．７ μＦタンタル）と小容量のコンデンサを並列に使用する方法が望ましい方法です。ｎＲＦ２４０１の電源はフィルタリングし、デジタル回路用電源への供給とは分割すべきでしょう。
ＰＣＢ上での長い電源配線は避けてください。グランド、ＶＤＤ結線、ＶＤＤバイパス・コンデンサは可能な限
りｎＲＦ２４０１に近くになるようにしてください。ＴＯＰ ｓｉｄｅがＲＦグランド・プレーンになるＰＣＢでは、ＶＳＳは直接グランドプレーンに接続します。最良の方法は各ＶＳＳ端子近くにそれぞれビア・ホールを持つ方法です。
フルスイングするデジタルデータや制御信号は電源線やクリスタルの近くを配線すべきではありません。

111

１５

適用例

１５．１

シングルエンドマッチングネットワークのｎＲＦ２４Ｅ１

図 １５‐１ ： ｎＲＦ２４Ｅ１のシングルエンド５０オームの高周波レイアウト図112

表 １５‐１ ： ｎＲＦ２４Ｅ１のアンテナマッチングの推奨部品表

113

１５．２

プリント基板の配置例

図１５−２に図１５−１のアプリケーション回路図のＰＣＢ配置例を示します。
６ｍｍ厚ＦＲ‐４両面基板を使用しており、ｂｏｔｔｏｍ層がグランドプレーンとなっています。
さらに十分に部品をｇｒｏｕｎｄｉｎｇするために部品面にもグランド領域を持っています。
多数のビアはＴＯＰレイヤのグランドとｂｏｔｔｏｍレイヤのグランドプレーンをつないでいます。

図 １５−２ ： ５０オームのアンテナへのシングルエンド出力と１６０８サイズの受動部品を持ったｎＲＦ２４
Ｅ１の高周波配置114

１６ 図の一覧
１７ 表の一覧
１８ 重要な注意事項

115