2. LÝ THUYẾT
2.3.11 Các thanh ghi trong nRF24L01
Bảng 2.9 Register CONFIG
Addresss Register Bit Reset value
Type Description
00 CONFIG Thanh ghi cấu hình
MASK_RX_DR 6 0 R/W Phản ánh ngắt tạo ra bởi RX_DR:
‘0’: Ngắt không được thể hiện ra chân IRQ pin.
‘1’: Ngắt được thể hiện ra chân IRQ pin, chân IRQ chuyển xuống mức ‘0’.
MASK_TX_DS 5 0 R/W Phản ánh ngắt tạo ra bởi TX_DS:
‘0’: Ngắt không được thể hiện ra chân IRQ pin.
‘1’: Ngắt được thể hiện ra chân IRQ pin, chân IRQ chuyển xuống mức ‘0’. MASK_MAX_R T 4 0 R/W Phản ánh ngắt tạo ra bởi MAX_RT: ‘0’: Ngắt không được thể hiện ra chân IRQ pin.
‘1’: Ngắt được thể hiện ra chân IRQ pin, chân IRQ chuyển xuống mức ‘0’.
EN_CRC 3 1 R/W Cho phép kiểm tra CRC CRCO 2 0 R/W Chếđộ mã hóa CRC: ‘0’: 1 byte. ‘1’: 2 byte. PWR_UP 1 0 R/W ‘0’: Tăt nguồn. ‘1’ : Mở nguồn. PRIM_RX 0 0 R/W Chọn chếđộ RX/TX: ‘0’: Chếđộ TX. ‘1’: Chếđộ RX> Bảng 2.10 Register EN_AA
Addresss Register Bit Reset value
Type Description
01 EN_AA Thanh ghi kích hoạt chế độ tự động xác nhận ACK.
ENAA_P5 5 1 R/W Cho phép tự động xác nhận ACK trên kênh truyền dữ liệu P5.
ENAA_P4 4 1 R/W Cho phép tự động xác nhận ACK trên kênh truyền dữ liệu P4.
ENAA_P3 3 1 R/W Cho phép tự động xác nhận ACK trên kênh truyền dữ liệu P3.
ENAA_P2 2 1 R/W Cho phép tự động xác nhận ACK trên kênh truyền dữ liệu P2.
ENAA_P1 1 1 R/W Cho phép tự động xác nhận ACK trên kênh truyền dữ liệu P1.
ENAA_P0 0 1 R/W Cho phép tự động xác nhận ACK trên kênh truyền dữ liệu P0.
Bảng 2.11 Register EN_RXADDR
Addresss Register Bit Reset value
Type Description
02 EN_RXADDR Cho phép chọn địa chỉ
RX_ADDR Reserve 7:6 00 R/W Chỉ cho phép ‘00’.
ERX_P5 5 0 R/W Cho phép chọn kênh truyền dữ
liệu P5.
ERX_P4 4 0 R/W Cho phép chọn kênh truyền dữ
liệu P4.
ERX_P3 3 0 R/W Cho phép chọn kênh truyền dữ
liệu P3.
ERX_P2 2 0 R/W Cho phép chọn kênh truyền dữ
liệu P2.
ERX_P1 1 1 R/W Cho phép chọn kênh truyền dữ
liệu P1.
ERX_P0 0 1 R/W Cho phép chọn kênh truyền dữ
liệu P0.
Bảng 2.12 Register SETUP_AW
value
03 SETUP_AW Cài đặt độ rộng của địa chỉ(Cho tất cả các kênh truyền) cho các thanh ghi TX_ADDR và RX_ADDR. Reserve 7:2 00 0000 R/W Chỉ cho phép ’00 0000’. AW 1:0 11 R/W ‘00’: Không hợp lệ. ‘01”: 3 byte. ‘10’: 4 byte. ‘11’: 5 byte. Nếu độ rộng byte nhỏ hơn 5 byte thì các byte nhỏ trong thanh ghi TX_ADDR và RX_ADDR sẽđược dùng.
Bảng 2.13 Register SETUP_RETR
Addresss Register Bit Reset value
Type Description
04 SETUP_RETR Cài đặt chếđộ tựđộng gửi lại. ARD 7:4 0000 R/W Khoảng delay giữa các lần gửi:
‘0000’: Đợi 250 uS. ‘0001’: 500 uS. ‘0010’: 750 uS. …….. ‘1111’: 4000 uS. ARC 3:0 0011 R/W Số lần gửi lại: ‘0000’: Không gửi lại. ‘0001’: Gửi lại 1 lần. ‘0010’: Gửi lại 2 lần. ……… ‘1111’: Gửi lại 15 lần. Bảng 2.14 Register RF_CH
Addresss Register Bit Reset value
05 RF_CH Chọn kênh RF
Reserved 7 0 R/W Chỉ cho phép mức ‘0’. RF_CH 6:0 000 0010 R/W Chọn kênh tần số hoạt động.
Bảng 2.15 Register RF_SETUP
Addresss Register Bit Reset value
Type Description
06 RF_SETUP Cài đặt RF
Reserve 7:5 000 R/W Chỉ cho phép mức ‘000’. PLL_CLOCK 4 0 R/W Sử dụng để khóa tín hiệu.Chỉ
sử dụng để kiểm tra
RF_DR 3 1 R/W Tốc độ truyền dữ liệu trong không khí:
‘0’: 1 Mbp. ‘1’: 2 Mbp.
RF_PWR 2:1 1 R/W Cài đặt công suất ngõ ra trong chếđộ TX: ‘00’: -18 DBm. ‘01’: -12 DBm. ‘10’: -6 DBm. ‘11’: 0 DBm. LNA_HCURR 0 1 R/W Bảng 2.16 Register STATUS
Addresss Register Bit Reset value
Type Description
07 STATUS Thanh ghi trạng thái.
Reserve 7 0 R/W Chỉ cho phép mức ‘0’.
RX_DR 6 0 R/W Bị tác động khi một dữ liệu mới
được đưa RX FIFO. Viết ‘1’ để xóa.
TX_DS 5 0 R/W Tác động khi một gói dữ liệu
đưa tới TX FIFO. Nếu
Bit này chỉ được set khi nhận được ACK. Viết ‘1’ để xóa. MAX_RT 4 0 R/W Bị tác động khi số lần tự động gửi lại được hoàn thành. Viết ‘1’ để xóa.
RX_P_NO 3:1 111 R Chọn kênh được dùng để đọc dữ liệu trong chếđộ RX FIFO. ‘000’-‘101’: Kênh dữ liệu được chọn.
‘110’: Không sử dụng. ‘111’: Chếđộ RX FIFO rỗng. TX_FULL 0 0 R Báo đầy trong chếđộ TX FIFO.
‘0’: Còn chỗ để chứa dữ liệu trong chếđộ TX FIFO.
‘1’: TX FIFO đầy.
Bảng 2.17 Register OBSERVE_TX
Addresss Register Bit Reset value
Type Description
08 OBSERVE_TX Thanh ghi quan sát truyền dữ
liệu.
PLOS_CNT 7:4 0000 R Đếm số gói dữ liệu bị thất lạc. ARC_CNT 3:0 0000 R Đếm số gói dữ liệu được truyền
lại.
Bảng 2.18 Register CD
Addresss Register Bit Reset value Type Description 09 CD Reserved 7:1 000 0000 R CD 0 0 R Phát hiện sóng truyền tới.
Addresss Register B it Reset value Type Description 0A RX_ADDR_P0 3 9: 0 0xE7 E7E7 E7E7 R/W Địa chỉ của kênh dữ liệu P0. Lớn nhất là 5 byte ( LSByte
được viết đầu tiên, số lượng Byte được cài đặt bởi SETUP_AW). 0B RX_ADDR_P1 3 9: 0 0xC2 C2C2 C2C2 R/W Địa chỉ của kênh dữ liệu P1. Lớn nhất là 5 byte ( LSByte
được viết đầu tiên, số lượng Byte được cài đặt bởi SETUP_AW).
0C RX_ADDR_P2 7: 0
0xC3 R/W Địa chỉ của kênh dữ liệu P2. Lớn nhất là 5 byte ( LSByte
được viết đầu tiên, số lượng Byte được cài đặt bởi SETUP_AW).
0D RX_ADDR_P3 7: 0
0xC4 R/W Địa chỉ của kênh dữ liệu P3. Lớn nhất là 5 byte ( LSByteđược viết đầu tiên, số
lượng Byte được cài đặt bởi SETUP_AW).
0E RX_ADDR_P4 7:
0
0xC5 R/W Địa chỉ của kênh dữ liệu P4. Lớn nhất là 5 byte ( LSByte
được viết đầu tiên, số lượng Byte được cài đặt bởi SETUP_AW).
0F RX_ADDR_P5 7: 0
0xC6 R/W Địa chỉ của kênh dữ liệu P5. Lớn nhất là 5 byte ( LSByte
được viết đầu tiên, số lượng Byte được cài đặt bởi SETUP_AW).
Bảng 2.20 Register TX_ADDR
Addresss Register Bit Reset value Typ e Description 10 TX_ADDR 39:0 0xE7 E7E7 E7E7 R/W Địa chỉ truyền TX_ADDR. Bảng 2.21 Register RX_PW_P0 à RX_PW_P0
Addresss Register Bit Reset value Typ e Description 11 RX_PW_P0 Reserved 7:6 00 R/W Chỉ cho phép mức ‘00’.
RX_PW_P0 5:0 00 0000 R/W Số lượng byte dữ liệu trong thanh ghi RX_PLD nhận được trong chếđộ RX của kênh P0. 0 : Không dùng. 1: 1 Byte. 2: 2 Byte. ………… 32: 32 Byte. 12 RX_PW_P1 Reserved 7:6 00 R/W Chỉ cho phép mức ‘00’.
RX_PW_P1 5:0 00 0000 R/W Số lượng byte dữ liệu trong thanh ghi RX_PLD nhận được trong chếđộ RX của kênh P0. 0 : Không dùng. 1: 1 Byte. 2: 2 Byte. ………… 32: 32 Byte. 13 RX_PW_P2 Reserved 7:6 00 R/W Chỉ cho phép mức ‘00’.
RX_PW_P2 5:0 00 0000 R/W Số lượng byte dữ liệu trong thanh ghi RX_PLD nhận được trong chếđộ RX của kênh P0. 0 : Không dùng. 1: 1 Byte. 2: 2 Byte. ………… 32: 32 Byte. 14 RX_PW_P3 Reserved 7:6 00 R/W Chỉ cho phép mức ‘00’.
RX_PW_P3 5:0 00 0000 R/W Số lượng byte dữ liệu trong thanh ghi RX_PLD nhận được trong chếđộ RX của kênh P0. 0 : Không dùng. 1: 1 Byte. 2: 2 Byte. ………… 32: 32 Byte. 15 RX_PW_P4 Reserved 7:6 00 R/W Chỉ cho phép mức ‘00’.
RX_PW_P4 5:0 00 0000 R/W Số lượng byte dữ liệu trong thanh ghi RX_PLD nhận được trong chếđộ RX của kênh P0. 0 : Không dùng. 1: 1 Byte. 2: 2 Byte. ………… 32: 32 Byte. 16 RX_PW_P5 Reserved 7:6 00 R/W Chỉ cho phép mức ‘00’.
RX_PW_P5 5:0 00 0000 R/W Số lượng byte dữ liệu trong thanh ghi RX_PLD nhận được trong chếđộ RX của kênh P0. 0 : Không dùng. 1: 1 Byte. 2: 2 Byte. ………… 32: 32 Byte. Bảng 2.22 Register FIFO_STATUS
Addresss Register Bit Reset value
Type Description
17 FIFO_STATUS Thanh ghi trạng thái FIFO. Reserve 7 0 R/W Chỉ cho phép mức ‘0’.
Bảng 2.23 Register ACK_PLD
Addresss Register Bit Reset value Type Description
N/A ACK_PLD 255:0 X W Được viết bởi các lệnh trong chế độ SPI.
Bảng 2.24 Register RX_PLD
Addresss Register Bit Reset value Type Description
N/A RX_PLD 255:0 X R Được đọc bởi các lệnh trong chế độ SPI.
Bảng 2.25 Register TX_PLD
Addresss Register Bit Reset value Type Description
N/A TX_PLD 255:0 X W Được viết bởi các lệnh trong chế độ SPI.
TX_REUSE 6 0 R
TX_FULL 5 0 R Cờ báo đầy trong chếđộ TX FIFO: ‘1’: Dữ liệu đưa vào đã đầy trong thanh ghi TX_PLD.
‘0’: Dữ liệu đưa vào chưa đầy trong thanh ghi TX_PLD.
TX_EMPTY 4 1 R Cờ báo trống trong chế độ TX FIFO:
‘1’: Thanh ghi TX_PLD trống. ‘0’: Thanh ghi TX_PLD có dữ liệu. Reserve 3:2 0 R/W Chỉ cho phép mức ‘00’.
RX_FULL 1 0 R Cờ báo đầy trong chếđộ RX FIFO: ‘1’: Dữ liệu đưa vào đã đầy trong thanh ghi RX_PLD.
‘0’: Dữ liệu đưa vào chưa đầy trong thanh ghi RX_PLD.
RX_EMPTY 0 1 R Cờ báo trống trong chế độ RX FIFO:
‘1’: Thanh ghi RX_PLD trống. ‘0’: Thanh ghi RX_PLD có dữ liệu.