|
ブロック図・概要 |
|
nRF24E1は、コアに8051互換のMCUを搭載しています。プログラムは、電源投入時に外部のEEPROM25320から読込まれて、4kのRAMエリアに転送されます。転送後、プログラムの実行が始まります。余ったRAM領域は汎用のRAMとして使用することができます。(量産時マスク化は可能) 10bitのA/D変換機を8チャネル(切り替え)搭載しており、内部リファレンス1.22V及び外部リファレンス(max1.5V)に対してA/D変換が可能です。電源電圧用に別途1チャネル用意されているので、電源電圧低下も測定することができます。 I/Oは、8+3本持っています。そのうち4本はEEPROMと共用になります。 無線部は、2.4GHz帯のISM周波数帯を使用しています。チップ内部にパワーアンプ、受信アンプ、送受信の切替が入っており、完全なトランシーバーを形成しています。従って、少しの外付け部品により高機能な無線ユニットを構成することが可能です。周波数が高いため、小型のアンテナで通信することができます。 通信のプロトコルは独自のもので、アドレス及びCRCが付加されたデジタル信号となっています。消費電力を少なくするために通信速度を上げてバースト的に送信するショックバーストを採用、通信速度は1Mbpsと250kbpsの切替が可能で、受信の感度は250kbpsの方が高くなっています。 デュアルレシーブ機能という別々のチャネル(8MHzの間隔)を同時に受信する機能も有しており、多彩な使用方法ができるようになっています。(例えば、ワイヤレスキーボードとマウスなどの構成など) その他、PWM出力やシリアルポート入出力もあり、小さいながらマイコンとしての基本的な機能を兼ね備えています。 |
|
|
|
|
メモリマップ |
|
メモリはプログラム用として0〜FFFHまでの4kbyteを使用することが可能です。EEPROMに書き込まれたプログラムは、ERAMエリアに転送され実行されます。このとき、空いたERAMエリアは、データメモリとして使用することが可能です。プログラムを転送するために、EEPROMに書き込むHEXファイルにはMPUの動作条件(クロック周波数やプログラムサイズなど)がヘッダ情報として付け加える必要がありますが、これは、マザーボードに付属するソフト・シェルパを使用することで自動的に付加されるようになっています。または、ノルディック社のサイトからeeprep.exeをダウンロードしてHEXファイルを変換しても同様にヘッダ情報の付加が可能です。 また、割り込みを使用するときは、ERAMの下部にベクタアドレスがあるため、プログラムと当たらないように注意してください。 SFRで、ポートの入出力設定やタイマ、割り込みなど各種設定を行います。IRAMは、汎用レジスタとしてR0〜R7が割り当てられている他、データメモリーとして使用することができます。 |
|
|
|
|
I/Oレジスタ |
|
ポート0
|
pin | ALT=1 | ALT=0 | | | | DIR=0 | DIR=1 | P0.0 | EEPROM_CSN | I/O | OUT | IN | P0.1 | RXD | I/O | OUT | IN | P0.2 | TXD | I/O | OUT | IN | P0.3 | INT0_N | I/O | OUT | IN | P0.4 | INT1_N | I/O | OUT | IN | P0.5 | T0 | I/O | OUT | IN | P0.6 | T1 | I/O | OUT | IN | P0.7 | PWM | I/O | OUT | IN |
| |
ポート1
|
pin | SPI_CTRL=01 | SPI_CTRL≠01 | | | ALT=1 | ALT=0 | | | | | DIR=0 | DIR=1 | P1.0 | SCK | T2 | I/O | OUT | IN | P1.1 | SDO | IN | I/O | OUT | IN | P1.2 | SDI | IN | IN | IN | IN | | P1_DIR | 0x96 | P1_ALT | 0x97 | SPI_CTRL | 0xB3 | |
|
メモリはプログラム用として0〜FFFHまでの4kbyteを使用することが可能です。EEPROMに書き込まれたプログラムは、ERAMエリアに転送され実行されます。このとき、空いたERAMエリアは、データメモリとして使用することが可能です。プログラムを転送するために、EEPROMに書き込むHEXファイルにはMPUの動作条件(クロック周波数やプログラムサイズなど)がヘッダ情報として付け加える必要がありますが、これは、マザーボードに付属するソフト・シェルパを使用することで自動的に付加されるようになっています。または、ノルディック社のサイトからeeprep.exeをダウンロードしてHEXファイルを変換しても同様にヘッダ情報の付加が可能です。
また、割り込みを使用するときは、ERAMの下部にベクタアドレスがあるため、プログラムと当たらないように注意してください。
SFRで、ポートの入出力設定やタイマ、割り込みなど各種設定を行います。IRAMは、汎用レジスタとしてR0〜R7が割り当てられている他、データメモリーとして使用することができます。 |
|
|
|
|
タイマレジスタ |
|
|
レジスタ | | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 | TMOD | 89H | timer1 | | | | timer0 | | | | | | GATE | C/T | M1 | M0 | GATE | C/T | M1 | M0 | | 1 | int1 gate | t1 in | mode | mode | int0 gate | t0 in | mode | mode | | 0 | no gate | clock | | | no gate | clock | | |
|
|
レジスタ | | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 | TCON | 88H | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 | | 1 | overflow | timer1 on | overflow | timer0 on | edge detect | edge | edge detect | edge | | 0 | | off | | off | | level | | level | |
|
レジスタ | | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 | CKCON | 08EH | | | T2M | T1M | T0M | MD2 | MD1 | MD0 | | | | | timer2 | timer1 | timer0 | movx | movx | movx | | 1 | | | clk/4 | clk/4 | clk/4 | | | | | 0 | | | clk/12 | clk/12 | clk/12 | | | |
|
|
レジスタ |
|
bit 7 | bit 6 |
bit 5 |
bit 4 |
bit 3 |
bit 2 |
bit 1 |
bit 0 |
|
| timer2 | |
|
|
|
|
|
|
T2CON |
C8H | TF2 | EXF2 |
RCLK |
TCLK |
EXEN2 |
TR2 |
C/T2 |
CP/RL2 |
|
1 | overflow | ext flag |
timer2 ov |
timer2 tx |
t2ex on |
timer2 on |
t2 in |
capture |
|
0 |
|
|
timer1 ov |
timer1 tx |
off |
off |
clock |
auto reload |
|
|
TL0 |
8AH |
timer value low |
TL1 |
8BH |
timer value low |
TH0 |
8CH |
timer value high |
TH1 |
8DH |
timer value high |
|
RCAP2L |
CAH |
capture low |
RCAP2H |
CBH |
capture high |
TL2 |
CCH |
timer value low |
TH2 |
CDH |
timer value high |
|
|
|
|
|
割り込みレジスタ |
|
ベクタアドレス
|
INT0_N | 外部割込0 | 03h | TF0 | Timer0割込 | 0Bh | INT1_N | 外部割込1 | 13h | TF1 | Timer1割込 | 1Bh | TI/RI | Serialポート割込 | 23h | TF2/EXF2 | Timer2割込 | 2Bh | INT2 | ADC_EOC割込 | 43h | INT3 | SPI_READY割込 | 4Bh | INT4 | RADIO.DR1割込 | 53h | INT5 | RADIO.DR2割込 | 5Bh | WDTI | wakeup割込 | 63h |
|
|
レジスタ | | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 | IE | 0A8H | EA | 0 | ET2 | ES | ET1 | EX1 | ET0 | EX0 | 許可 | | 全割込許可 | | Timer2 | Serial PT | Timer1 | EXT1 | Timer0 | EXT0 | | enable | 1 | | 1 | 1 | 1 | 1 | 1 | 1 | | disable | 0 | | 0 | 0 | 0 | 0 | 0 | 0 |
|
|
レジスタ | | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 | IP | 0B8H | 1 | 0 | PT2 | PS | PT1 | PX1 | PT0 | PX0 | 優先度 | | | | Timer2 | Serial PT | Timer1 | EXT1 | Timer0 | EXT0 | | 優先高 | | | 1 | 1 | 1 | 1 | 1 | 1 | | 優先低 | | | 0 | 0 | 0 | 0 | 0 | 0 |
|
|
レジスタ | | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 | EXIF | 091H | IE5 | IE4 | IE3 | IE2 | 1 | 0 | 0 | 0 | 割込有無 | | RADIO.DR2 | RADIO.DR1 | SPI | ADC_EOC | | | | | | 割込有り | 1 | 1 | 1 | 1 | | | | | | 割込無し | 0 | 0 | 0 | 0 | | | | |
|
|
レジスタ | | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 | EICON | 0D8H | − | 1 | 0 | 0 | WDTI | 0 | 0 | 0 | 割込有無 | | | | | | wakeup | | | | | 割込有り | | | | | 1 | | | | | 割込無し | | | | | 0 | | | |
|
|
レジスタ | | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 | EIE | 0E8H | 1 | 1 | 1 | EWDI | EX5 | EX4 | EX3 | EX2 | 許可 | | | | | wakeup | RADIO.DR2 | RADIO.DR1 | SPI_READY | ADC_EOC | | enable | | | | 1 | 1 | 1 | 1 | 1 | | disable | | | | 0 | 0 | 0 | 0 | 0 |
|
|
レジスタ | | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 | EIP | 0F8H | 1 | 1 | 1 | PWDI | PX5 | PX4 | PX3 | PX2 | 優先度 | | | | | wakeup | RADIO.DR2 | RADIO.DR1 | SPI | ADC_EOC | | 優先高 | | | | 1 | 1 | 1 | 1 | 1 | | 優先低 | | | | 0 | 0 | 0 | 0 | 0 |
|
|
|
|
|
無線部レジスタ |
|
設定例です。実際には緑の値を順に設定します。
|
119 | 118 | 117 | 116 | 115 | 114 | 113 | 112 | 111 | 110 | 109 | 108 | 107 | 106 | 105 | 104 | DATA2_W | DATA1_W | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 8 | 0 | 8 | PayLoad 8bit | PayLoad 8bit |
|
|
103 | 102 | 101 | 100 | 99 | 98 | 97 | 96 | 95 | 94 | 93 | 92 | 91 | 90 | 89 | 88 | 87 | 86 | 85 | 84 | 83 | 82 | 81 | 80 | 79 | 78 | 77 | 76 | 75 | 74 | 73 | 72 | 71 | 70 | 69 | 68 | 67 | 66 | 65 | 64 | ADDR2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | CH2 ADDRESS 40bit |
|
|
63 | 62 | 61 | 60 | 59 | 58 | 57 | 56 | 55 | 54 | 53 | 52 | 51 | 50 | 49 | 48 | 47 | 46 | 45 | 44 | 43 | 42 | 41 | 40 | 39 | 38 | 37 | 36 | 35 | 34 | 33 | 32 | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | ADDR1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | a | a | b | b | 1 | 2 | 3 | 4 | CH1 ADDRESS 40bit |
|
|
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | ADDRW | CRC | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 8 | 3 | 32bit address | 16bitCRC | CRCenable |
|
|
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 2CH | CM | DR | XO | RFPW | CH | TX/RX | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 6 | C | 0 | 4 | 1CH | SBmode | 1Mbps | 16MHz | -20dBm | 2402MHz | transmit mode | |
|
|
|