Ourdev 720108S29ZHI
Ourdev 720108S29ZHI
2. API Summary
2.1. Command Summary
Common Properties
Number Name Default Summary
0x0100 INT_CTL_ENABLE 0x04 Interrupt enable property
0x0101 INT_CTL_PH_ENABLE 0x00 Packet handler interrupt enable property
0x0102 INT_CTL_MODEM_ENABLE 0x00 Modem interrupt enable property
0x0103 INT_CTL_CHIP_ENABLE 0x04 Chip interrupt enable property
0x0200 FRR_CTL_A_MODE 0x01 Fast Response Register A Configuration
0x0201 FRR_CTL_B_MODE 0x02 Fast Response Register B Configuration
0x0202 FRR_CTL_C_MODE 0x09 Fast Response Register C Configuration
0x0203 FRR_CTL_D_MODE 0x00 Fast Response Register D Configuration
0x1101 SYNC_BITS_31_24 0x2D Byte 3 of sync word
0x1102 SYNC_BITS_23_16 0xD4 Byte 2 of sync word
0x2400 EZCONFIG_MODULATION 0x02 Configure modulation using the EZ config
feature.
0x4000 FREQ_CONTROL_INTE 0x3C Frac-N PLL integer number.
0x4001 FREQ_CONTROL_FRAC_2 0x08 Byte 2 of Frac-N PLL fraction number.
0x4002 FREQ_CONTROL_FRAC_1 0x00 Byte 1 of Frac-N PLL fraction number.
0x4003 FREQ_CONTROL_FRAC_0 0x00 Byte 0 of Frac-N PLL fraction number.
0x4004 FREQ_CONTROL_CHANNEL_STEP_SIZE_1 0x00 Byte 1 of channel step size.
0x4005 FREQ_CONTROL_CHANNEL_STEP_SIZE_0 0x00 Byte 0 of channel step size.
0x0000 GLOBAL_XO_TUNE 0x40 Configure crystal oscillator frequency tun-
ing bank
0x0001 GLOBAL_CLK_CFG 0 Clock configuration options
0x0002 GLOBAL_LOW_BATT_THRESH 0x18 Low battery threshold
0x0003 GLOBAL_CONFIG 0 Global configuration settings
0x0004 GLOBAL_WUT_CONFIG 0x00 GLOBAL WUT configuation
0x0005 GLOBAL_WUT_M_15_8 0x00 Configure WUT_M_15_8
0x0006 GLOBAL_WUT_M_7_0 0x01 Configure WUT_M_7_0
0x0007 GLOBAL_WUT_R 0x00 Configure WUT_R
0x0008 GLOBAL_WUT_LDC 0x00 Configure WUT_LDC
0x1000 PREAMBLE_TX_LENGTH 0x08 Preamble length
0x1001 PREAMBLE_CONFIG_STD_1 0x14 Standard preamble configuration
0x1002 PREAMBLE_CONFIG_NSTD 0x00 Non-standard preamble configuation
2 Rev. 0.1
AN625
Common Properties
Number Name Default Summary
0x1003 PREAMBLE_CONFIG_STD_2 0x0F Standard preamble configuration
0x1004 PREAMBLE_CONFIG 0x21 Preamble configuration bits
0x1005 PREAMBLE_PATTERN_31_24 0 Preamble pattern
0x1006 PREAMBLE_PATTERN_23_16 0 Preamble pattern
0x1007 PREAMBLE_PATTERN_15_8 0 Preamble pattern
0x1008 PREAMBLE_PATTERN_7_0 0 Preamble pattern
0x1100 SYNC_CONFIG 0x01 Sync configuration bits
0x1103 SYNC_BITS_15_8 0x2D Byte 1 of sync word
0x1104 SYNC_BITS_7_0 0xD4 Byte 0 of sync word
0x1200 PKT_CRC_CONFIG 0 Select a CRC polynomial and seed
0x1206 PKT_CONFIG1 0 General packet configuration bits
0x1208 PKT_LEN 0x00 Provides information regarding how to
use the length from the received packet.
0x1209 PKT_LEN_FIELD_SOURCE 0 Field number containing the embedded
length field.
0x120A PKT_LEN_ADJUST 0 Adjust length field by this amount to
derive the variable length information.
0x120B PKT_TX_THRESHOLD 0x30 TX almost empty threshold.
0x120C PKT_RX_THRESHOLD 0x30 RX almost full threshold.
0x120D PKT_FIELD_1_LENGTH_12_8 0x00 Byte 1 of field length
0x120E PKT_FIELD_1_LENGTH_7_0 0x00 Byte 0 of field length
0x120F PKT_FIELD_1_CONFIG 0x00 Field 1 configuration bits.
0x1210 PKT_FIELD_1_CRC_CONFIG 0x00 Field 1 CRC configuration bits.
0x1211 PKT_FIELD_2_LENGTH_12_8 0x00 Byte 1 of field length
0x1212 PKT_FIELD_2_LENGTH_7_0 0x00 Byte 0 of field length
0x1213 PKT_FIELD_2_CONFIG 0x00 Field 2 configuration bits.
0x1214 PKT_FIELD_2_CRC_CONFIG 0x00 Field 2 CRC configuration bits.
0x1215 PKT_FIELD_3_LENGTH_12_8 0x00 Byte 1 of field length
0x1216 PKT_FIELD_3_LENGTH_7_0 0x00 Byte 0 of field length
0x1217 PKT_FIELD_3_CONFIG 0x00 Field 3 configuration bits.
0x1218 PKT_FIELD_3_CRC_CONFIG 0x00 Field 3 CRC configuration bits.
0x1219 PKT_FIELD_4_LENGTH_12_8 0x00 Byte 1 of field length
0x121A PKT_FIELD_4_LENGTH_7_0 0x00 Byte 0 of field length
Rev. 0.1 3
AN625
Common Properties
Number Name Default Summary
0x121B PKT_FIELD_4_CONFIG 0x00 Field 4 configuration bits.
0x121C PKT_FIELD_4_CRC_CONFIG 0x00 Field 4 CRC configuration bits.
0x121D PKT_FIELD_5_LENGTH_12_8 0x00 Byte 1 of field length
0x121E PKT_FIELD_5_LENGTH_7_0 0x00 Byte 0 of field length
0x121F PKT_FIELD_5_CONFIG 0x00 Field 5 configuration bits.
0x1220 PKT_FIELD_5_CRC_CONFIG 0x00 Field 5 CRC configuration bits.
0x1221 PKT_RX_FIELD_1_LENGTH_12_8 0x00 Byte 1 of field length for RX
0x1222 PKT_RX_FIELD_1_LENGTH_7_0 0x00 Byte 0 of field length for RX
0x1223 PKT_RX_FIELD_1_CONFIG 0x00 Field 1 configuration bits for RX.
0x1224 PKT_RX_FIELD_1_CRC_CONFIG 0x00 Field 1 CRC configuration bits for RX.
0x1225 PKT_RX_FIELD_2_LENGTH_12_8 0x00 Byte 1 of field length for RX
0x1226 PKT_RX_FIELD_2_LENGTH_7_0 0x00 Byte 0 of field length for RX
0x1227 PKT_RX_FIELD_2_CONFIG 0x00 Field 2 configuration bits for RX.
0x1228 PKT_RX_FIELD_2_CRC_CONFIG 0x00 Field 2 CRC configuration bits for RX.
0x1229 PKT_RX_FIELD_3_LENGTH_12_8 0x00 Byte 1 of field length for RX
0x122A PKT_RX_FIELD_3_LENGTH_7_0 0x00 Byte 0 of field length for RX
0x122B PKT_RX_FIELD_3_CONFIG 0x00 Field 3 configuration bits for RX.
0x122C PKT_RX_FIELD_3_CRC_CONFIG 0x00 Field 3 CRC configuration bits for RX.
0x122D PKT_RX_FIELD_4_LENGTH_12_8 0x00 Byte 1 of field length for RX
0x122E PKT_RX_FIELD_4_LENGTH_7_0 0x00 Byte 0 of field length for RX
0x122F PKT_RX_FIELD_4_CONFIG 0x00 Field 4 configuration bits for RX.
0x1230 PKT_RX_FIELD_4_CRC_CONFIG 0x00 Field 4 CRC configuration bits for RX.
0x1231 PKT_RX_FIELD_5_LENGTH_12_8 0x00 Byte 1 of field length for RX
0x1232 PKT_RX_FIELD_5_LENGTH_7_0 0x00 Byte 0 of field length for RX
0x1233 PKT_RX_FIELD_5_CONFIG 0x00 Field 5 configuration bits for RX.
0x1234 PKT_RX_FIELD_5_CRC_CONFIG 0x00 Field 5 CRC configuration bits for RX.
0x2000 MODEM_MOD_TYPE 0x02 Modulation Type
0x2001 MODEM_MAP_CONTROL 0x80 Controls bit mapping.
0x2002 MODEM_DSM_CTRL 0x07 DSM control
0x2003 MODEM_DATA_RATE_2 0x0F Byte 2 of TX data rate in bps (bits per
second).
0x2004 MODEM_DATA_RATE_1 0x42 Byte 1 of TX data rate in bps (bits per
second).
4 Rev. 0.1
AN625
Common Properties
Number Name Default Summary
0x2005 MODEM_DATA_RATE_0 0x40 Byte 0 of TX data rate in bps (bits per
second).
0x200A MODEM_FREQ_DEV_2 0x00 Byte 2 of TX frequency deviation (a 17-bit
unsigned number). This only programs
the MSB of TX frequency deviation.
0x200B MODEM_FREQ_DEV_1 0x06 Byte 1 of frequency deviation.
0x200C MODEM_FREQ_DEV_0 0xD3 Byte 0 of frequency deviation.
0x200D MODEM_RESERVED_20_0D 0x00
0x200E MODEM_RESERVED_20_0E 0x00
0x2049 MODEM_ANT_DIV_CONTROL 0x80 Specifies antenna diversity controls.
Antenna diversity mode is valid for stan-
dard packet only.
0x204A MODEM_RSSI_THRESH 0x08 RSSI threshold control
0x204B MODEM_RSSI_JUMP_THRESH 0x0C RSSI jumping detection threshold.
0x204C MODEM_RSSI_CONTROL 0x01 RSSI control
0x204D MODEM_RSSI_CONTROL2 0x00 RSSI control
0x204E MODEM_RSSI_COMP 0x32 RSSI reading offset.
0x2050 MODEM_RESERVED_20_50 0x00
0x2200 PA_MODE 0x10 PA operating mode and groups.
0x2201 PA_PWR_LVL 0x7F PA Level Configuration
0x2202 PA_BIAS_CLKDUTY 0x00 PA Bias and TX clock duty cycle configu-
ration
0x2203 PA_TC 0x01 PA cascode ramping Configuration
0x3000 MATCH_VALUE_1 0x00 Match 1 value.
0x3001 MATCH_MASK_1 0x00 Match 1 mask.
0x3002 MATCH_CTRL_1 0x00 Pacekt match enable and match 1 config-
uration.
0x3003 MATCH_VALUE_2 0x00 Match 2 value.
0x3004 MATCH_MASK_2 0x00 Match 2 mask.
0x3005 MATCH_CTRL_2 0x00 Match 2 configuration.
0x3006 MATCH_VALUE_3 0x00 Match 3 value.
0x3007 MATCH_MASK_3 0x00 Match 3 mask.
0x3008 MATCH_CTRL_3 0x00 Match 3 configuration.
0x3009 MATCH_VALUE_4 0x00 Match 4 value.
0x300A MATCH_MASK_4 0x00 Match 4 mask.
Rev. 0.1 5
AN625
Common Properties
Number Name Default Summary
0x300B MATCH_CTRL_4 0x00 Match 4 configuration.
0x4006 FREQ_CONTROL_W_SIZE 0x20 30 MHz clock cycles
0x4007 FREQ_CONTROL_VCOCNT_RX_ADJ 0xFF VCO target count adjustment for RX
0x5000 RX_HOP_CONTROL 0x04 RX hop control.
0x5001 RX_HOP_TABLE_SIZE 0x01 Number of entries in the RX hop table.
0x5002 RX_HOP_TABLE_ENTRY_0 0 No.1 entry in RX hopping table.
0x500x RX_HOP_TABLE_ENTRY_xx 1 Entries 2-63 in RX hopping table.
0x5041 RX_HOP_TABLE_ENTRY_64 2 No.3 entry in RX hopping table.
6 Rev. 0.1
AN625
3. Commands
3.1. Boot Commands
3.1.1. POWER_UP
Summary: Power-up device and mode selection. Modes include operational function
Purpose:
Power-up the device with the specified function. Power-up is complete when the CTS bit is set. This command may take
longer to set the CTS bit than other commands.
Command Stream
POWER_UP Command 7 6 5 4 3 2 1 0
CMD 0x02
BOOT_OPTIONS PATCH 0 FUNC[5:0]
XTAL_OPTIONS 0000000 TCXO
XO_FREQ XO_FREQ[31:24]
XO_FREQ XO_FREQ[23:16]
XO_FREQ XO_FREQ[15:8]
XO_FREQ XO_FREQ[7:0]
Reply Stream
POWER_UP Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CMD_COMPLETE[7:0]
Parameters:
PATCH- Select patch mode.
0 = Boot normally.
1 = Copy image selected by FUNC to RAM, but do not boot. After CTS is set, RAM may be patched via
PATCH_ARGS and PATCH_DATA commands.
FUNC[5:0] - Selects the boot function of the device
0 = Boot Loader
1 = Transceiver
TCXO - Select if TCXO is in use.
0 = XTAL is not TCXO.
1 = XTAL is TCXO.
XO_FREQ[31:0] - Frequency of TCXO or external crystal oscillator in Hz. The default is 30000000 (30MHz).
Range: 25000000 to 32000000
Response:
None
Rev. 0.1 7
AN625
3.1.2. PATCH_IMAGE
Summary: Loads image from NVM/ROM into RAM.
Purpose:
Loads the selected function into RAM for execution or patching
Command Stream
PATCH_IMAGE Command 7 6 5 4 3 2 1 0
CMD 0x04
FLAGS 0000 FUNC[3:0]
Reply Stream
PATCH_IMAGE Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CMD_COMPLETE[7:0]
Parameters:
FUNC[3:0] - Selects the image to load
0 = Boot Loader - No image is loaded
1 = Transceiver
Response:
None
8 Rev. 0.1
AN625
3.2. Common Commands
3.2.1. NOP
Summary: No operation command
Purpose:
Can be used to ensure communication with the device.
Command Stream
NOP Command 7 6 5 4 3 2 1 0
CMD 0x00
Reply Stream
NOP Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CMD_COMPLETE[7:0]
Parameters:
None
Response:
None
Rev. 0.1 9
AN625
3.2.2. PART_INFO
Summary: Reports basic information about the device.
Purpose:
Returns Part Number, Part Version, ROM ID, etc
Command Stream
PART_INFO Command 7 6 5 4 3 2 1 0
CMD 0x01
Reply Stream
PART_INFO Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CMD_COMPLETE[7:0]
CHIPREV CHIPREV[7:0]
PART PART[15:8]
PART PART[7:0]
PBUILD PBUILD[7:0]
ID ID[15:8]
ID ID[7:0]
CUSTOMER CUSTOMER[7:0]
ROMID ROMID[7:0]
Parameters:
None
Response:
CHIPREV[7:0] - Chip Mask Revision
PART[15:0] - Part Number. e.g. si4440 will return - 0x4440)
PBUILD[7:0] - Part Build
ID[15:0] - ID
CUSTOMER[7:0] - Customer ID
ROMID[7:0] - ROM ID
10 Rev. 0.1
AN625
3.2.3. FUNC_INFO
Summary: Returns the Function revision information of the device.
Purpose:
Return Function revision numbers for currently loaded functional mode firmware. Contrast with PART_INFO
Command Stream
FUNC_INFO Command 7 6 5 4 3 2 1 0
CMD 0x10
Reply Stream
FUNC_INFO Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CTS[7:0]
REVEXT REVEXT[7:0]
REVBRANCH REVBRANCH[7:0]
REVINT REVINT[7:0]
PATCH PATCH[15:8]
PATCH PATCH[7:0]
FUNC FUNC[7:0]
Parameters:
None
Response:
REVEXT[7:0] - External revision number
Range: 0 to 255
REVBRANCH[7:0] - Branch revision number
Range: 0 to 255
REVINT[7:0] - Internal revision number
Range: 0 to 255
PATCH[15:0]
ID of applied patch. This is also the last 2 bytes in the associated patch file (*.csg).
0x0000 = No patch applied.
FUNC[7:0] - Current functional mode
1 = Tranceiver
2 = Receive only
3 = Transmit only
Rev. 0.1 11
AN625
3.2.4. SET_PROPERTY
Summary: Sets the value of a property.
Purpose:
Sets a property common to one or more commands. These are similar to parameters for a api command but are not
expected to change frequently and may be controlled by higher layers of the user's software. Setting some properties
may not cause the device to take immediate action, however the property will take affect once a command which uses it
is issued.
Command Stream
SET_PROPERTY Command 7 6 5 4 3 2 1 0
CMD 0x11
GROUP GROUP[7:0]
NUM_PROPS NUM_PROPS[7:0]
START_PROP START_PROP[7:0]
DATA0 DATA0[7:0]
DATA1 DATA1[7:0]
DATA2 DATA2[7:0]
DATA3 DATA3[7:0]
DATA4 DATA4[7:0]
DATA5 DATA5[7:0]
DATA6 DATA6[7:0]
DATA7 DATA7[7:0]
DATA8 DATA8[7:0]
DATA9 DATA9[7:0]
DATA10 DATA10[7:0]
DATA11 DATA11[7:0]
Reply Stream
SET_PROPERTY Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CTS[7:0]
Parameters:
GROUP[7:0] - Selects the group of the property to set.
NUM_PROPS[7:0] - Number of properties to write starting at START_PROP.
Range: 1 to 12
START_PROP[7:0] - Selects the property index to set. The available properties are determined by the part number and
the POWER_UP :FUNC selection.
DATA0[7:0] - Value of the property START_PROP
12 Rev. 0.1
AN625
DATA5[7:0] - Value of the property START_PROP + 5 (don't care if NUM_PROPS < 6 )
DATA6[7:0] - Value of the property START_PROP + 6 (don't care if NUM_PROPS < 7 )
DATA7[7:0] - Value of the property START_PROP + 7 (don't care if NUM_PROPS < 8 )
Response:
None
Rev. 0.1 13
AN625
3.2.5. GET_PROPERTY
Summary: Retrieve a property's value.
Purpose:
Retrieve a property's value; The value will either be the default or the value set with SET_PROPERTY.
Command Stream
GET_PROPERTY Command 7 6 5 4 3 2 1 0
CMD 0x12
GROUP GROUP[7:0]
NUM_PROPS NUM_PROPS[7:0]
START_PROP START_PROP[7:0]
Reply Stream
GET_PROPERTY Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CTS[7:0]
DATA0 DATA0[7:0]
DATA1 DATA1[7:0]
DATA2 DATA2[7:0]
DATA3 DATA3[7:0]
DATA4 DATA4[7:0]
DATA5 DATA5[7:0]
DATA6 DATA6[7:0]
DATA7 DATA7[7:0]
DATA8 DATA8[7:0]
DATA9 DATA9[7:0]
DATA10 DATA10[7:0]
DATA11 DATA11[7:0]
DATA12 DATA12[7:0]
DATA13 DATA13[7:0]
DATA14 DATA14[7:0]
DATA15 DATA15[7:0]
Parameters:
GROUP[7:0] - Selects the group of the properties to retrieve.
NUM_PROPS[7:0] - Number of properties to retrieve starting at START_PROP.
Range: 1 to 16
START_PROP[7:0] - Selects the first property index to retrieve. The available properties are determined by the part
number and the POWER_UP:FUNC selection.
14 Rev. 0.1
AN625
Response:
DATA0[7:0] - Value of the property START_PROP
Rev. 0.1 15
AN625
3.2.6. GPIO_PIN_CFG
Summary: Configures the gpio pins
Command Stream
GPIO_PIN_CFG Command 7 6 5 4 3 2 1 0
CMD 0x13
GPIO0 0 GPIO0_PULL_CTL GPIO0_MODE[5:0]
GPIO1 0 GPIO1_PULL_CTL GPIO1_MODE[5:0]
GPIO2 0 GPIO2_PULL_CTL GPIO2_MODE[5:0]
GPIO3 0 GPIO3_PULL_CTL GPIO3_MODE[5:0]
NIRQ 0 NIRQ_DRV_PULL NIRQ_MODE[5:0]
SDO 0 SDO_PULL_CTL SDO_MODE[5:0]
GEN_CONFIG 0 DRV_STRENGTH[1:0] 00000
Reply Stream
GPIO_PIN_CFG Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CTS[7:0]
GPIO0 GPIO0_STATE X GPIO0r_[5:0]
GPIO1 GPIO1_STATE X GPIO1r_[5:0]
GPIO2 GPIO2_STATE X GPIO2r_[5:0]
GPIO3 GPIO3_STATE X GPIO3r_[5:0]
NIRQ NIRQSTATE X NIRQr_[5:0]
SDO SDOSTATE X SDOr_[5:0]
GEN_CONFIG X DRV_STRENGTH[1:0] XXXXX
Parameters:
GPIO0_PULL_CTL
0 = Disable pullup. Recommended setting if pin is driven.
1 = Enable pullup.
GPIO0_MODE[5:0]
0 = Do not modify the behavior of this pin.
1 = Input and output drivers disabled.
2 = CMOS output driven low.
3 = CMOS output driven high.
4 = CMOS input.
5 = 32 kHz clock.
6 = 30 MHz clock.
7 = Divided MCU clock.
8 = High when command complete, low otherwise.
9 = Low when command complete, high otherwise.
10 = High when command overlap occurs. TODO: What clears this.
16 Rev. 0.1
AN625
11 = Serial data out.
12 = Pulses high on power on reset.
13 = Pulses high when calibration timer expires.
14 = Pulses high when wakeup timer expires.
15 = unused0
16 = TX data CLK output to be used in conjuction with TX Data pin.
17 = RX data CLK output to be used in conjuction with RX Data pin.
18 = unused1
19 = TX data.
20 = RX data.
21 = RX raw data.
22 = Antenna 1 Switch used for antenna diversity.
23 = Antenna 2 Switch used for antenna diversity.
24 = High when a valid preamble is detected. Cleared when sync is received.
25 = High when an invalid preamble is detected. TODO: What clears this
26 = High when a sync word is detected. TODO: What clears this
27 = High when RSSI above clear channel assesment threshold, low when below threshold.
32 = High while in the transmit state.
33 = High while in the receive state.
34 = High while the rx fifo is almost full.
35 = High while the tx fifo is almost empty.
36 = High while the battery voltage is low.
37 = High when RSSI above clear channel assesment threshold, goes low on sync detect or exiting rx state.
38 = Toggles when hop occurs.
39 = Toggles when the hop table wraps.
GPIO1_PULL_CTL
0 = Disable pullup. Recommended setting if pin is driven.
1 = Enable pullup.
GPIO1_MODE[5:0]
0 = Do not modify the behavior of this pin.
1 = Input and output drivers disabled.
2 = CMOS output driven low.
3 = CMOS output driven high.
4 = CMOS input.
5 = 32 kHz clock.
6 = 30 MHz clock.
7 = Divided MCU clock.
8 = High when command complete, low otherwise.
9 = Low when command complete, high otherwise.
10 = High when command overlap occurs. TODO: What clears this.
11 = Serial data out.
12 = Pulses high on power on reset.
13 = Pulses high when calibration timer expires.
14 = Pulses high when wakeup timer expires.
15 = unused0
16 = TX data CLK output to be used in conjuction with TX Data pin.
17 = RX data CLK output to be used in conjuction with RX Data pin.
18 = unused1
19 = TX data.
20 = RX data.
Rev. 0.1 17
AN625
21 = RX raw data.
22 = Antenna 1 Switch used for antenna diversity.
23 = Antenna 2 Switch used for antenna diversity.
24 = High when a valid preamble is detected. Cleared when sync is received.
25 = High when an invalid preamble is detected. TODO: What clears this
26 = High when a sync word is detected. TODO: What clears this
27 = High when RSSI above clear channel assesment threshold, low when below threshold.
32 = High while in the transmit state.
33 = High while in the receive state.
34 = High while the rx fifo is almost full.
35 = High while the tx fifo is almost empty.
36 = High while the battery voltage is low.
37 = High when RSSI above clear channel assesment threshold, goes low on sync detect or exiting rx state.
38 = Toggles when hop occurs.
39 = Toggles when the hop table wraps.
GPIO2_PULL_CTL
0 = Disable pullup. Recommended setting if pin is driven.
1 = Enable pullup.
GPIO2_MODE[5:0]
0 = Do not modify the behavior of this pin.
1 = Input and output drivers disabled.
2 = CMOS output driven low.
3 = CMOS output driven high.
4 = CMOS input.
5 = 32 kHz clock.
6 = 30 MHz clock.
7 = Divided MCU clock.
8 = High when command complete, low otherwise.
9 = Low when command complete, high otherwise.
10 = High when command overlap occurs. TODO: What clears this.
11 = Serial data out.
12 = Pulses high on power on reset.
13 = Pulses high when calibration timer expires.
14 = Pulses high when wakeup timer expires.
15 = unused0
16 = TX data CLK output to be used in conjuction with TX Data pin.
17 = RX data CLK output to be used in conjuction with RX Data pin.
18 = unused1
19 = TX data.
20 = RX data.
21 = RX raw data.
22 = Antenna 1 Switch used for antenna diversity.
23 = Antenna 2 Switch used for antenna diversity.
24 = High when a valid preamble is detected. Cleared when sync is received.
25 = High when an invalid preamble is detected. TODO: What clears this
26 = High when a sync word is detected. TODO: What clears this
27 = High when RSSI above clear channel assesment threshold, low when below threshold.
32 = High while in the transmit state.
33 = High while in the receive state.
34 = High while the rx fifo is almost full.
18 Rev. 0.1
AN625
35 = High while the tx fifo is almost empty.
36 = High while the battery voltage is low.
37 = High when RSSI above clear channel assesment threshold, goes low on sync detect or exiting rx state.
38 = Toggles when hop occurs.
39 = Toggles when the hop table wraps.
GPIO3_PULL_CTL
0 = Disable pullup. Recommended setting if pin is driven.
1 = Enable pullup.
GPIO3_MODE[5:0]
0 = Do not modify the behavior of this pin.
1 = Input and output drivers disabled.
2 = CMOS output driven low.
3 = CMOS output driven high.
4 = CMOS input.
5 = 32 kHz clock.
6 = 30 MHz clock.
7 = Divided MCU clock.
8 = High when command complete, low otherwise.
9 = Low when command complete, high otherwise.
10 = High when command overlap occurs. TODO: What clears this.
11 = Serial data out.
12 = Pulses high on power on reset.
13 = Pulses high when calibration timer expires.
14 = Pulses high when wakeup timer expires.
15 = unused0
16 = TX data CLK output to be used in conjuction with TX Data pin.
17 = RX data CLK output to be used in conjuction with RX Data pin.
18 = unused1
19 = TX data.
20 = RX data.
21 = RX raw data.
22 = Antenna 1 Switch used for antenna diversity.
23 = Antenna 2 Switch used for antenna diversity.
24 = High when a valid preamble is detected. Cleared when sync is received.
25 = High when an invalid preamble is detected. TODO: What clears this
26 = High when a sync word is detected. TODO: What clears this
27 = High when RSSI above clear channel assesment threshold, low when below threshold.
32 = High while in the transmit state.
33 = High while in the receive state.
34 = High while the rx fifo is almost full.
35 = High while the tx fifo is almost empty.
36 = High while the battery voltage is low.
37 = High when RSSI above clear channel assesment threshold, goes low on sync detect or exiting rx state.
38 = Toggles when hop occurs.
39 = Toggles when the hop table wraps.
NIRQ_DRV_PULL
NIRQ_MODE[5:0]
0 = Do not modify the behavior of this pin.
Rev. 0.1 19
AN625
1 = Input and output drivers disabled.
2 = CMOS output driven low.
3 = CMOS output driven high.
4 = CMOS input.
7 = Divided MCU clock.
8 = High when command complete, low otherwise.
11 = Serial data out.
12 = Pulses high on power on reset.
15 = unused0
16 = TX data CLK output to be used in conjuction with TX Data pin.
17 = RX data CLK output to be used in conjuction with RX Data pin.
18 = unused1
19 = TX data.
20 = RX data.
21 = RX raw data.
22 = Antenna 1 Switch used for antenna diversity.
23 = Antenna 2 Switch used for antenna diversity.
24 = High when a valid preamble is detected. Cleared when sync is received.
25 = High when an invalid preamble is detected. TODO: What clears this
26 = High when a sync word is detected. TODO: What clears this
27 = High when RSSI above clear channel assesment threshold, low when below threshold.
39 = Active low interrupt signal
SDO_PULL_CTL
0 = Disable pullup. Recommended setting if pin is driven.
1 = Enable pullup.
SDO_MODE[5:0]
0 = Do not modify the behavior of this pin.
1 = Input and output drivers disabled.
2 = CMOS output driven low.
3 = CMOS output driven high.
4 = CMOS input.
5 = 32 kHz clock.
7 = Divided MCU clock.
8 = High when command complete, low otherwise.
11 = Serial data out.
12 = Pulses high on power on reset.
14 = Pulses high when wakeup timer expires.
15 = unused0
16 = TX data CLK output to be used in conjuction with TX Data pin.
17 = RX data CLK output to be used in conjuction with RX Data pin.
18 = unused1
19 = TX data.
20 = RX data.
21 = RX raw data.
22 = Antenna 1 Switch used for antenna diversity.
23 = Antenna 2 Switch used for antenna diversity.
24 = High when a valid preamble is detected. Cleared when sync is received.
25 = High when an invalid preamble is detected. TODO: What clears this
26 = High when a sync word is detected. TODO: What clears this
27 = High when RSSI above clear channel assesment threshold, low when below threshold.
20 Rev. 0.1
AN625
DRV_STRENGTH[6:5]
0 = GPIOs configured as outputs will have highest drive strength.
1 = GPIOs configured as outputs will have medium drive strength.
2 = GPIOs configured as outputs will have medium drive strength.
3 = GPIOs configured as outputs will have lowest drive strength.
Response:
GPIO0_STATE
0 = Pin was read back as a 0
1 = Pin was read back as a 1
GPIO0r[5:0]
0 = Do not modify the behavior of this pin.
1 = Input and output drivers disabled.
2 = CMOS output driven low.
3 = CMOS output driven high.
4 = CMOS input.
5 = 32 kHz clock.
6 = 30 MHz clock.
7 = Divided MCU clock.
8 = High when command complete, low otherwise.
9 = Low when command complete, high otherwise.
10 = High when command overlap occurs. TODO: What clears this.
11 = Serial data out.
12 = Pulses high on power on reset.
13 = Pulses high when calibration timer expires.
14 = Pulses high when wakeup timer expires.
15 = unused0
16 = TX data CLK output to be used in conjuction with TX Data pin.
17 = RX data CLK output to be used in conjuction with RX Data pin.
18 = unused1
19 = TX data.
20 = RX data.
21 = RX raw data.
22 = Antenna 1 Switch used for antenna diversity.
23 = Antenna 2 Switch used for antenna diversity.
24 = High when a valid preamble is detected. Cleared when sync is received.
25 = High when an invalid preamble is detected. TODO: What clears this
26 = High when a sync word is detected. TODO: What clears this
27 = High when RSSI above clear channel assesment threshold, low when below threshold.
32 = High while in the transmit state.
33 = High while in the receive state.
34 = High while the rx fifo is almost full.
35 = High while the tx fifo is almost empty.
36 = High while the battery voltage is low.
37 = High when RSSI above clear channel assesment threshold, goes low on sync detect or exiting rx state.
38 = Toggles when hop occurs.
39 = Toggles when the hop table wraps.
GPIO1_STATE
0 = Pin was read back as a 0
1 = Pin was read back as a 1
GPIO1r[5:0]
Rev. 0.1 21
AN625
0 = Do not modify the behavior of this pin.
1 = Input and output drivers disabled.
2 = CMOS output driven low.
3 = CMOS output driven high.
4 = CMOS input.
5 = 32 kHz clock.
6 = 30 MHz clock.
7 = Divided MCU clock.
8 = High when command complete, low otherwise.
9 = Low when command complete, high otherwise.
10 = High when command overlap occurs. TODO: What clears this.
11 = Serial data out.
12 = Pulses high on power on reset.
13 = Pulses high when calibration timer expires.
14 = Pulses high when wakeup timer expires.
15 = unused0
16 = TX data CLK output to be used in conjuction with TX Data pin.
17 = RX data CLK output to be used in conjuction with RX Data pin.
18 = unused1
19 = TX data.
20 = RX data.
21 = RX raw data.
22 = Antenna 1 Switch used for antenna diversity.
23 = Antenna 2 Switch used for antenna diversity.
24 = High when a valid preamble is detected. Cleared when sync is received.
25 = High when an invalid preamble is detected. TODO: What clears this
26 = High when a sync word is detected. TODO: What clears this
27 = High when RSSI above clear channel assesment threshold, low when below threshold.
32 = High while in the transmit state.
33 = High while in the receive state.
34 = High while the rx fifo is almost full.
35 = High while the tx fifo is almost empty.
36 = High while the battery voltage is low.
37 = High when RSSI above clear channel assesment threshold, goes low on sync detect or exiting rx state.
38 = Toggles when hop occurs.
39 = Toggles when the hop table wraps.
GPIO2_STATE
0 = Pin was read back as a 0
1 = Pin was read back as a 1
GPIO2r[5:0]
0 = Do not modify the behavior of this pin.
1 = Input and output drivers disabled.
2 = CMOS output driven low.
3 = CMOS output driven high.
4 = CMOS input.
5 = 32 kHz clock.
6 = 30 MHz clock.
7 = Divided MCU clock.
8 = High when command complete, low otherwise.
9 = Low when command complete, high otherwise.
22 Rev. 0.1
AN625
10 = High when command overlap occurs. TODO: What clears this.
11 = Serial data out.
12 = Pulses high on power on reset.
13 = Pulses high when calibration timer expires.
14 = Pulses high when wakeup timer expires.
15 = unused0
16 = TX data CLK output to be used in conjuction with TX Data pin.
17 = RX data CLK output to be used in conjuction with RX Data pin.
18 = unused1
19 = TX data.
20 = RX data.
21 = RX raw data.
22 = Antenna 1 Switch used for antenna diversity.
23 = Antenna 2 Switch used for antenna diversity.
24 = High when a valid preamble is detected. Cleared when sync is received.
25 = High when an invalid preamble is detected. TODO: What clears this
26 = High when a sync word is detected. TODO: What clears this
27 = High when RSSI above clear channel assesment threshold, low when below threshold.
32 = High while in the transmit state.
33 = High while in the receive state.
34 = High while the rx fifo is almost full.
35 = High while the tx fifo is almost empty.
36 = High while the battery voltage is low.
37 = High when RSSI above clear channel assesment threshold, goes low on sync detect or exiting rx state.
38 = Toggles when hop occurs.
39 = Toggles when the hop table wraps.
GPIO3STATE
0 = Pin was read back as a 0
1 = Pin was read back as a 1
GPIO3r[5:0]
0 = Do not modify the behavior of this pin.
1 = Input and output drivers disabled.
2 = CMOS output driven low.
3 = CMOS output driven high.
4 = CMOS input.
5 = 32 kHz clock.
6 = 30 MHz clock.
7 = Divided MCU clock.
8 = High when command complete, low otherwise.
9 = Low when command complete, high otherwise.
10 = High when command overlap occurs. TODO: What clears this.
11 = Serial data out.
12 = Pulses high on power on reset.
13 = Pulses high when calibration timer expires.
14 = Pulses high when wakeup timer expires.
15 = unused0
16 = TX data CLK output to be used in conjuction with TX Data pin.
17 = RX data CLK output to be used in conjuction with RX Data pin.
18 = unused1
19 = TX data.
Rev. 0.1 23
AN625
20 = RX data.
21 = RX raw data.
22 = Antenna 1 Switch used for antenna diversity.
23 = Antenna 2 Switch used for antenna diversity.
24 = High when a valid preamble is detected. Cleared when sync is received.
25 = High when an invalid preamble is detected. TODO: What clears this
26 = High when a sync word is detected. TODO: What clears this
27 = High when RSSI above clear channel assesment threshold, low when below threshold.
32 = High while in the transmit state.
33 = High while in the receive state.
34 = High while the rx fifo is almost full.
35 = High while the tx fifo is almost empty.
36 = High while the battery voltage is low.
37 = High when RSSI above clear channel assesment threshold, goes low on sync detect or exiting rx state.
38 = Toggles when hop occurs.
39 = Toggles when the hop table wraps.
NIRQSTATE
0 = Pin was read back as a 0
1 = Pin was read back as a 1
NIRQr[5:0]
0 = Do not modify the behavior of this pin.
1 = Input and output drivers disabled.
2 = CMOS output driven low.
3 = CMOS output driven high.
4 = CMOS input.
7 = Divided MCU clock.
8 = High when command complete, low otherwise.
11 = Serial data out.
12 = Pulses high on power on reset.
15 = unused0
16 = TX data CLK output to be used in conjuction with TX Data pin.
17 = RX data CLK output to be used in conjuction with RX Data pin.
18 = unused1
19 = TX data.
20 = RX data.
21 = RX raw data.
22 = Antenna 1 Switch used for antenna diversity.
23 = Antenna 2 Switch used for antenna diversity.
24 = High when a valid preamble is detected. Cleared when sync is received.
25 = High when an invalid preamble is detected. TODO: What clears this
26 = High when a sync word is detected. TODO: What clears this
27 = High when RSSI above clear channel assesment threshold, low when below threshold.
39 = Active low interrupt signal
SDOSTATE
24 Rev. 0.1
AN625
3 = CMOS output driven high.
4 = CMOS input.
5 = 32 kHz clock.
7 = Divided MCU clock.
8 = High when command complete, low otherwise.
11 = Serial data out.
12 = Pulses high on power on reset.
14 = Pulses high when wakeup timer expires.
15 = unused0
16 = TX data CLK output to be used in conjuction with TX Data pin.
17 = RX data CLK output to be used in conjuction with RX Data pin.
18 = unused1
19 = TX data.
20 = RX data.
21 = RX raw data.
22 = Antenna 1 Switch used for antenna diversity.
23 = Antenna 2 Switch used for antenna diversity.
24 = High when a valid preamble is detected. Cleared when sync is received.
25 = High when an invalid preamble is detected. TODO: What clears this
26 = High when a sync word is detected. TODO: What clears this
27 = High when RSSI above clear channel assesment threshold, low when below threshold.
DRV_STRENGTH[6:5]
0 = GPIOs configured as outputs will have highest drive strength.
1 = GPIOs configured as outputs will have medium drive strength.
2 = GPIOs configured as outputs will have medium drive strength.
3 = GPIOs configured as outputs will have lowest drive strength.
Rev. 0.1 25
AN625
3.2.7. GET_ADC_READING
Summary: Retrieve the results of possible ADC conversions.
Purpose:
Retrieve the result of the last ADC conversion.
Command Stream
GET_ADC_READING 7 6 5 4 3 2 1 0
Command
CMD 0x14
ADC_EN 000 TEMPERATURE_EN BATTERY_VOLTAGE_ ADC_GPIO_ ADC_GPIO_PIN[1:0]
EN EN
Reply Stream
GET_ADC_READING Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CTS[7:0]
GPIO_ADC GPIO_ADC[15:8]
GPIO_ADC GPIO_ADC[7:0]
BATTERY_ADC BATTERY_ADC[15:8]
BATTERY_ADC BATTERY_ADC[7:0]
TEMP_ADC TEMP_ADC[15:8]
TEMP_ADC TEMP_ADC[7:0]
TEMP_SLOPE TEMP_SLOPE[7:0]
TEMP_INTERCEPT TEMP_INTERCEPT[7:0]
Parameters:
TEMPERATURE_EN
0 = Don't do ADC conversion of temperature, will read 0 value in reply TEMPERATURE
1 = Do ADC conversion of temperature, result in TEMP_ADC.
Temp in Celsius = ((512 + TEMP_SLOPE) / 4096) x TEMP_ADC – (INTERCEPT / 2 + 256)
BATTERY_VOLTAGE_EN
0 = Don't do ADC conversion of battery voltage, will read 0 value in reply BATTERY_VOLTAGE
1 = Do ADC conversion of battery voltage, results in BATTERY_VOLTAGE. Vbatt = 3*Batt_ADC/1280
ADC_GPIO_EN
0 = Don't do ADC conversion on GPIO, will read 0 value in reply
1 = Do ADC conversion of GPIO, results in ADC_GPIO. Vgpio = 3*GPIO_ADC/1280
ADC_GPIO_PIN[1:0] - Select GPIOx pin. The pin must be set as input
0 = Measure votage of GPIO0
1 = Measure votage of GPIO1
2 = Measure votage of GPIO2
3 = Measure votage of GPIO3
Response:
GPIO_ADC[15:0] - ADC value of voltage on GPIO
TEMP_ADC[15:0] - ADC value of temperature sensor voltage of the chip in degrees kelvin
26 Rev. 0.1
AN625
3.2.8. FIFO_INFO
Summary: Provides access to transmit and receive fifo counts and reset.
Purpose:
This command is normally used for error recovery, fifo hardware does not need to be reset prior to use.
Command Stream:
FIFO_INFO Command 7 6 5 4 3 2 1 0
CMD 0x15
FIFO 000000 RX TX
Reply Stream
FIFO_INFO Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CTS[7:0]
RX_FIFO_COUNT RX_FIFO_COUNT[7:0]
TX_FIFO_SPACE TX_FIFO_SPACE[7:0]
Parameters:
RX
1 = Resets receive data fifo.
TX
1 = Resets transmit data fifo.
Response:
RX_FIFO_COUNT[7:0]
GET_PACKET_INFO Command 7 6 5 4 3 2 1 0
CMD 0x16
Reply Stream
GET_PACKET_INFO Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CTS[7:0]
LENGTH_15_8 LENGTH_15_8[7:0]
LENGTH_7_0 LENGTH_7_0[7:0]
Parameters:
None
Response:
LENGTH_15_8[7:0] - Most significant byte of the extracted length
LENGTH_7_0[7:0] - Least significant byte of the extracted length
Rev. 0.1 27
AN625
3.2.10. IRCAL
Summary: Calibrate receiver image rejection for Si4463 and Si4464.
Purpose:
Automatically calibrates the receiver image rejection with no requirement for an external signal source.
Command Stream
IRCAL 7 6 5 4 3 2 1 0
Command
CMD 0x17
SEARCHING_ 0 INITIAL_ FINE_STEP_ COURSE_STEP_SIZE[3:0]
STEP_SIZE PH_AMP SIZE[1:0]
SEARCHING_ 00 RSSI_FINE_ 00 RSSI_COURSE_
RSSI_AVG AVG[1:0] AVG[1:0]
RX_CHAIN_ EN_HRMNIC_ IRCLKDIV RF_SOURCE_ CLOSE_ PGA_GAIN[2:0]
SETTING1 GEN PWR[1:0] SHUNT_
SWITCH
RX_CHAIN_ 0000000 ADC_
SETTING2 HIGH_
GAIN
Reply Stream
IRCAL Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CTS[7:0]
Parameter:
INITIAL_PH_AMP - Initial ph and amp value when start IR calibration.
0 = use zero for phase and amplitude values as starting values
1 = use previous calibration values as starting values (default)
FINE_STEP_SIZE[5:4] - Step size of fine stepping. Range:0~13.
0 = Value 0 is used to skip fine stepping.
COURSE_STEP_SIZE[3:0] - Course Step Size of course stepping. Range:0~15.
0 = Value 0 is usedn to skip course stepping
RSSI_FINE_AVG[5:4] - How many measurements(2^avg) per RSSI measurement while fine stepping.
0 = 1 measurements
1 = 2 measurements
2 = 4 measurements
3 = 8 measurements
RSSI_COURSE_AVG[1:0] - How many measurements(2^avg) per RSSI measurement while course stepping.
0 = 1 measurements
1 = 2 measurements
2 = 4 measurements
3 = 8 measurements
EN_HRMNIC_GEN - Enable harmonic generator.
0 = Not enable
1 = Enable
IRCLKDIV - Set irclkdiv
28 Rev. 0.1
AN625
0 = Set to nominal gain
1 = Harmonics at N x 30 MHz
RF_SOURCE_PWR[5:4] - Power of internal generator(Default 3).
0 = smallest
1 = small
2 = big
3 = biggest
CLOSE_SHUNT_SWITCH - Close shunt switch.
0 = Open LNA input shunt switch
1 = Close Open LNA input shunt switch switch
PGA_GAIN[2:0] - Set PGA Gain, see PGA datasheet.
0 = 6dB
1 = 9dB
2 = 12dB
3 = others are all 6dB
6 = 0dB
7 = 3dB
ADC_HIGH_GAIN - Set ADC to high gain.
0 = Set to nominal gain
1 = Set to high gain
Response:
None
3.2.11. PROTOCOL_CFG
Summary: Sets the chip up for specified protocol.
Purpose:
Command Stream
PROTOCOL_CFG Command 7 6 5 4 3 2 1 0
CMD 0x18
PROTOCOL PROTOCOL[7:0]
Reply Stream
PROTOCOL_CFG Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CTS[7:0]
Parameters:
PROTOCOL[7:0] - TODO
0 = Packet format is generic, no dynamic reprogramming of packet handler properties.
1 = Packet format is IEEE802.15.4g compliance. The following properties are overriden: PKT_CRC_CONFIG,
CRC_ENDIAN/BIT_ORDER in PKT_CONFG1 for TX and RX, PKT_FIELD_X_CRC_CONFIG for RX. Other
applicable properties in the packet handler group still need to be programmed. Field 1 should have the length of
16 bits to contain the PHR with PKT_LEN_FIELD_SOURCE set to 1 for RX. PSDU field shall use Field 2 with
variable length. Field 2 length should be set to the maximum allowed.
Response:
None
Rev. 0.1 29
AN625
3.2.12. GET_INT_STATUS
Summary: Returns the interrupt status byte.
Purpose:
Returns the current interrupt status byte.
Command Stream
GET_INT_ 7 6 5 4 3 2 1 0
STATUS
Command
CMD 0x20
Reply Stream
GET_INT_ 7 6 5 4 3 2 1 0
STATUS
Reply
CMD_ CTS[7:0]
COMPLETE
30 Rev. 0.1
AN625
CHIP_PEND XX FIFO_ STATE_ CMD_ CHIP_ LOW_BATT_ WUT_
UNDERFLOW_ CHANGE_ ERROR_ READY_ PEND PEND
OVERFLOW_ PEND PEND PEND
ERROR_PEND
CHIP_ XX FIFO_ STATE_ CMD_ CHIP_ LOW_BATT WUT
STATUS UNDERFLOW_ CHANGE ERROR READY
OVERFLOW_
ERROR
Parameters
FILTER_MATCH_PEND_CLR - If clear, Clear pending FILTER_MATCH interrupt. If set, leave interrupt pending
FILTER_MISS_PEND_CLR - If clear, Clear pending FILTER_MISS interrupt. If set, leave interrupt pending
PACKET_SENT_PEND_CLR - If clear, Clear pending PACKET_SENT interrupt. If set, leave interrupt pending
PACKET_RX_PEND_CLR - If clear, Clear pending PACKET_RX interrupt. If set, leave interrupt pending
CRC32_ERROR_PEND_CLR - If clear, Clear pending CRC32_ERROR interrupt. If set, leave interrupt pending
RSSI_JUMP_PEND_CLR - If clear, Clear pending RSSI_JUMP interrupt. If set, leave interrupt pending
RSSI_PEND_CLR - If clear, Clear pending RSSI interrupt. If set, leave interrupt pending
CMD_ERROR_PEND_CLR - If clear, Clear pending CMD_ERROR interrupt. If set, leave interrupt pending
CHIP_READY_PEND_CLR - If clear, Clear pending CHIP_READY interrupt. If set, leave interrupt pending
LOW_BATT_PEND_CLR - If clear, Clear pending LOW_BATT interrupt. If set, leave interrupt pending
WUT_PEND_CLR - If clear, Clear pending WUT interrupt. If set, leave interrupt pending
Response
CHIP_INT_STATUS_PEND - If set, CHIP_INT_STATUS interrupt is pending.
MODEM_INT_STATUS_PEND - If set, MODEM_INT_STATUS interrupt is pending.
PH_INT_STATUS_PEND - If set, PH_INT_STATUS interrupt is pending.
FILTER_MISS - If set, incoming packet was discarded because filter did not match
Rev. 0.1 31
AN625
TX_FIFO_ALMOST_EMPTY - If set, TX fifo is below watermark
RX_FIFO_ALMOST_FULL - If set, RX fifo is above watermark
INVALID_SYNC_PEND - If set, INVALID_SYNC interrupt is pending.
32 Rev. 0.1
AN625
3.2.13. GET_PH_STATUS
Summary: Returns the packet handler status.
Purpose:
Returns current packet handler status bytes and possibly clears pending packet handler interrupts.
Command Stream
GET_PH_STATUS Command 7 6 5 4 3 2 1 0
CMD 0x21
Reply Stream
GET_PH_ 7 6 5 4 3 2 1 0
STATUS
Reply
CMD_ CTS[7:0]
COMPLETE
Parameters:
None
Response:
FILTER_MATCH_PEND - If set, FILTER_MATCH interrupt is pending.
FILTER_MISS - If set, incoming packet was discarded because filter did not match
PACKET_SENT - If set, Packet Sent
Rev. 0.1 33
AN625
3.2.14. GET_MODEM_STATUS
Summary: Returns the modem status byte.
Purpose:
Returns and possibly clears the current modem status byte.
Command Stream
GET_MODEM_STATUS Command 7 6 5 4 3 2 1 0
CMD 0x22
Reply Stream
GET_MODEM_S 7 6 5 4 3 2 1 0
TATUS Reply
CMD_ CTS[7:0]
COMPLETE
CURR_RSSI CURR_RSSI[7:0]
LATCH_RSSI LATCH_RSSI[7:0]
ANT1_RSSI ANT1_RSSI[7:0]
ANT2_RSSI ANT2_RSSI[7:0]
Parameters:
None
Response:
INVALID_SYNC_PEND - If set, INVALID_SYNC interrupt is pending.
RSSI_JUMP_PEND - If set, RSSI_JUMP interrupt is pending.
RSSI_PEND - If set, RSSI interrupt is pending.
INVALID_PREAMBLE_PEND - If set, INVALID_PREAMBLE interrupt is pending.
LATCH_RSSI[7:0] - Latched RSSI reading from the modem as configured by MODEM_RSSI_CONTROL. Reset to 0 at
the start of every RX.
ANT1_RSSI[7:0] - RSSI of ANT1 while antenna diversity. Latched during preamble evaluation and avaliable for reading
after sync detection.
ANT2_RSSI[7:0] - RSSI of ANT2 while antenna diversity. Latched during preamble evaluation and avaliable for reading
after sync detection.
34 Rev. 0.1
AN625
3.2.15. GET_CHIP_STATUS
Summary: Returns the chip status.
Purpose:
Returns current chip status bytes and possibly clears pending chip status interrupts.
Command Stream
GET_CHIP_STATUS Command 7 6 5 4 3 2 1 0
CMD 0x23
Reply Stream
GET_CHIP_ 7 6 5 4 3 2 1 0
STATUS
Reply
CMD_COMP CTS[7:0]
LETE
CMD_ERR_ CMD_ERR_STATUS[7:0]
STATUS
Parameters:
None
Response:
FIFO_UNDERFLOW_OVERFLOW_ERROR_PEND - If set, FIFO_UNDERFLOW_OVERFLOW_ERROR interrupt is
pending.
STATE_CHANGE_PEND - If set, STATE_CHANGE interrupt is pending.
CMD_ERR_STATUS[7:0] - Last command error cause. Only valid if CMD_ERROR status bit is set.
0x00 = No error.
0x20 =
0x30 =
0x31 =
Rev. 0.1 35
AN625
3.2.16. START_TX
Summary: Switches to TX state and starts packet transmission.
Purpose:
Switches to TX state when condition is met. Command arguments are retained though sleep state, so they only need to
be written when they change. CTS will not return high until in TX state.
Command Stream
START_TX Command 7 6 5 4 3 2 1 0
CMD 0x31
CHANNEL CHANNEL[7:0]
CONDITION TXCOMPLETE_STATE[3:0] 0 RETRANSMIT START[1:0]
TX_LEN TX_LEN[15:8]
TX_LEN TX_LEN[7:0]
Reply Stream
START_TX Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CTS[7:0]
Parameters:
CHANNEL[7:0] - Channel number to transmit the packet on. Frequency is determined using integer, fractional, and step
size properties in the FREQ_CONTROL property group. This value will be overwritten with START_RX:CHANNEL
TXCOMPLETE_STATE[7:4] - State to go to when current packet transmission completes.
0 = No change
1 = Sleep state.
2 = Spi Active state.
3 = Ready state.
4 = Another enumeration for Ready state.
5 = Tune state for TX.
6 = Tune state for RX.
7 = TX state.
8 = RX state.
RETRANSMIT
0 = Send data that has been written to fifo. If fifo is empty a fifo underflow interrupt will occur.
1 = Send last packet again. If this option is used, ensure that no new data is written to the fifo.
START[1:0]
0 = Start TX immediately.
1 = Start TX when wake up timer expires.
TX_LEN[15:0] - If this field is nonzero, the packet will be transmitted using only field 1 with no packet handler features (eg.
crc, whitening). If this field is zero, the configuration of the packet handler fields is used. If RETRANSMIT is set, this field
is ignored.
Response
None
36 Rev. 0.1
AN625
3.2.17. START_RX
Summary: Switches to RX state. Command arguments are retained though sleep state, so these only need to
be written when they change.
Purpose
Switchesto RX state when condition is met and switch to specified state when RX packet completes. Command
arguments are retained though sleep state, so they only need to be written when they change. CTS will not return until in
RX mode
Command Stream
START_RX Command 7 6 5 4 3 2 1 0
CMD 0x32
CHANNEL CHANNEL[7:0]
CONDITION 0000000 START
RX_LEN RX_LEN[15:8]
RX_LEN RX_LEN[7:0]
NEXT_STATE1 0000 RXTIMEOUT_STATE[3:0]
NEXT_STATE2 0000 RXVALID_STATE[3:0]
NEXT_STATE3 0000 RXINVALID_STATE[3:0]
Reply Stream
START_RX Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CTS[7:0]
Parameters
CHANNEL[7:0] - Channel number to transmit the packet on. Frequency is determined using integer, fractional, and step
size properties in the FREQ_CONTROL property group. This value will be overwritten with START_TX:CHANNEL
START
0 = Start RX immediately.
1 = Start RX when wake up timer expires.
RX_LEN[15:0] - If this field is nonzero, the packet will be received using only field 1 with no packet handler features (eg.
crc, whitening). If this field is zero, the configuration of the packet handler fields is used.
RXTIMEOUT_STATE[3:0] - If preamble detection times out, RX will transition to RXTIMEOUT_STATE. See
PREAMBLE_CONFIG_STD_2 for details regarding how to configure preamble timeout.
0 = No change
1 = Sleep state.
2 = Spi Active state.
3 = Ready state.
4 = Another enumeration for Ready state.
5 = Tune state for TX.
6 = Tune state for RX.
7 = TX state.
8 = RX state.
Rev. 0.1 37
AN625
RXVALID_STATE[3:0] - RX transitions to RXVALID_STATE if CRC check passes when CRC is enabled via PKT group
properties. If CRC is not enabled, upon receiving packet received interrupt, RX transitions to RXVALID_STATE.
0 = No change
1 = Sleep state.
2 = Spi Active state.
3 = Ready state.
4 = Another enumeration for Ready state.
5 = Tune state for TX.
6 = Tune state for RX.
7 = TX state.
8 = RX state.
RXINVALID_STATE[3:0] - If CRC checking is enabled, in case of CRC error, RX will transition to RXINVALID_STATE.
0 = No change
1 = Sleep state.
2 = Spi Active state.
3 = Ready state.
4 = Another enumeration for Ready state.
5 = Tune state for TX.
6 = Tune state for RX.
7 = TX state.
8 = RX state.
Response
None
38 Rev. 0.1
AN625
3.2.18. REQUEST_DEVICE_STATE
Summary: Request current device state.
Purpose:
Requests the current state of the device and lists pending TX and RX requests.
Command Stream
REQUEST_DEVICE_STATE Command 7 6 5 4 3 2 1 0
CMD 0x33
Reply Stream
REQUEST_DEVICE_STATE Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CTS[7:0]
CURR_STATE XXXX MAIN_STATE[3:0]
CURRENT_CHANNEL CURRENT_CHANNEL[7:0]
STATE2 XXXXX POST_TX_STATE[2:0]
STATE3 XXXXX POST_RX_STATE[2:0]
Parameters:
None
Response:
MAIN_STATE[3:0] - Current State.
0 = No change
1 = Sleep state.
2 = Spi Active state.
3 = Ready state.
4 = Another enumeration for Ready state.
5 = Tune state for TX.
6 = Tune state for RX.
7 = TX state.
8 = RX state.
CURRENT_CHANNEL[7:0]
POST_TX_STATE[2:0]
1=
2=
3=
4=
POST_RX_STATE[2:0]
1=
2=
3=
4=
Rev. 0.1 39
AN625
3.2.19. CHANGE_STATE
Summary: Update state machine entries.
Purpose:
This command is used to manually switch to a specified state, or to cancel pending state transitions.
Command Stream
CHANGE_STATE Command 7 6 5 4 3 2 1 0
CMD 0x34
Reply Stream
CHANGE_STATE Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CTS[7:0]
Parameters:
NEW_STATE[3:0] - State to go to immediately.
0 = No change
1 = Sleep state.
2 = Spi Active state.
3 = Ready state.
4 = Another enumeration for Ready state.
5 = Tune state for TX.
6 = Tune state for RX.
7 = TX state.
8 = RX state.
Response:
None
40 Rev. 0.1
AN625
3.2.20. RX_HOP
Summary: Fast RX hopping
Purpose:RX Hop is designed to provide the fastest RX to RX switching time for frequency hopping systems.
The RX to RX time is 75usec using this command. The VCO_CNT must be calculated offline and stored in the
host.
Command Stream
RX_HOP Command 7 6 5 4 3 2 1 0
CMD 0x36
INTE INTE[7:0]
FRAC2 FRAC2[7:0]
FRAC1 FRAC1[7:0]
FRAC0 FRAC0[7:0]
VCO_CNT1 00000000
VCO_CNT0 VCO_CNT0[7:0]
Reply Stream
RX_HOP Reply 7 6 5 4 3 2 1 0
CMD_COMPLETE CTS[7:0]
Parameters:
INTE[7:0]
- INTE register value
FRAC2[7:0] - FRAC2 register value
FRAC1[7:0] - FRAC1 register value
Response:
None
Rev. 0.1 41
AN625
3.3. Debug Commands
3.4. Properties
3.5. Common Properties
3.5.1. INT_CTL_ENABLE
Summary: Interrupt enable property
Purpose:
Enables top-level interrupt sources
Property: 0x0100
Default: 0x04
Fields:
CHIP_INT_STATUS_EN - default:1 If set, Enables CHIP_INT_STATUS interrupt.
MODEM_INT_STATUS_EN - default:0 If set, Enables MODEM_INT_STATUS interrupt.
PH_INT_STATUS_EN - default:0 If set, Enables PH_INT_STATUS interrupt.
Register View
INT_CTL_ENABLE
7 6 5 4 3 2 1 0
0x00 CHIP_INT_STATUS_EN MODEM_INT_STATUS_EN PH_INT_STATUS_EN
0x00 1 0 0
3.5.2. INT_CTL_PH_ENABLE
Summary: Packet handler interrupt enable property
Purpose:
Enables packet handler interrupt sources
Property: 0x0101
Default: 0x00
Fields:
FILTER_MATCH_EN - default:0 If set, Enables FILTER_MATCH interrupt.
FILTER_MISS_EN - default:0 If set, Enables FILTER_MISS interrupt.
PACKET_SENT_EN - default:0 If set, Enables PACKET_SENT interrupt.
Register View
INT_CTL_PH_ENABLE
7 6 5 4 3 2 1 0
FILTER_ FILTER_MISS_ PACKET_SENT_ PACKET_RX_ CRC32_ 0 TX_FIFO_ RX_FIFO_
MATCH_ EN EN EN ERROR_ ALMOST_ ALMOST_
EN EN EMPTY_EN FULL_EN
0 0 0 0 0 0 0 0
42 Rev. 0.1
AN625
3.5.3. INT_CTL_MODEM_ENABLE
Summary: Modem interrupt enable property
Purpose:
Enables modem interrupt sources
Property: 0x0102
Default: 0x00
Fields:
INVALID_SYNC_EN - default:0 If set, Enables INVALID_SYNC interrupt.
RSSI_JUMP_EN - default:0 If set, Enables RSSI_JUMP interrupt.
RSSI_EN - default:0 If set, Enables RSSI interrupt.
Register View
INT_CTL_MODEM_ENABLE
7 6 5 4 3 2 1 0
0x0 INVALID_ RSSI_ RSSI_ INVALID_ PREAMBLE_ SYNC_
SYNC_EN JUMP_EN EN PREAMBLE_EN DETECT_EN DETECT_EN
0x0 0 0 0 0 0 0
3.5.4. INT_CTL_CHIP_ENABLE
Summary: Chip interrupt enable property
Purpose:
Enables chip interrupt sources
Property: 0x0103
Default: 0x04
Fields:
FIFO_UNDERFLOW_OVERFLOW_ERROR_EN - default:0 If set, Enables FIFO_UNDERFLOW_OVERFLOW_ERROR
interrupt.
STATE_CHANGE_EN - default:0 If set, Enables STATE_CHANGE interrupt.
CMD_ERROR_EN - default:0 If set, Enables CMD_ERROR interrupt.
Register View
INT_CTL_CHIP_ENABLE
7 6 5 4 3 2 1 0
0x0 FIFO_UNDERFLOW_ STATE_ CMD_ CHIP_ LOW_ WUT_EN
OVERFLOW_ERROR_EN CHANGE_EN ERROR_EN READY_EN BATT_EN
0x0 0 0 0 1 0 0
Rev. 0.1 43
AN625
3.5.5. FRR_CTL_A_MODE
Summary: Fast Response Register A Configuration
Purpose:
Set the data that is present in fast response register A.
Property: 0x0200
Default: 0x01
Fields:
FRR_A_MODE[7:0] - default:0x01
0 = Disabled. Will always read back 0
1 = Global status
2 = Global interrupt pending
3 = Packet Handler status
4 = Packet Handler interrupt pending
5 = Modem status
6 = Modem interrupt pending
7 = Chip status
8 = Chip status interrupt pending
9 = Current state
10 = Latched RSSI value as defined in MODEM_RSSI_CONTROL:LATCH
Register View
FRR_CTL_A_MODE
7 6 5 4 3 2 1 0
FRR_A_MODE[7:0]
0x01
44 Rev. 0.1
AN625
3.5.6. FRR_CTL_B_MODE
Summary: Fast Response Register B Configuration
Purpose:
Set the data that is present in fast response register B.
Property: 0x0201
Default: 0x02
Fields:
FRR_B_MODE[7:0] - default:0x02
0 = Disabled. Will always read back 0
1 = Global status
2 = Global interrupt pending
3 = Packet Handler status
4 = Packet Handler interrupt pending
5 = Modem status
6 = Modem interrupt pending
7 = Chip status
8 = Chip status interrupt pending
9 = Current state
10 = Latched RSSI value as defined in MODEM_RSSI_CONTROL:LATCH
Register View
FRR_CTL_B_MODE
7 6 5 4 3 2 1 0
FRR_B_MODE[7:0]
0x02
Rev. 0.1 45
AN625
3.5.7. FRR_CTL_C_MODE
Summary: Fast Response Register C Configuration
Purpose:
Set the data that is present in fast response register C.
Property: 0x0202
Default: 0x09
Fields:
FRR_C_MODE[7:0] - default:0x09
0 = Disabled. Will always read back 0
1 = Global status
2 = Global interrupt pending
3 = Packet Handler status
4 = Packet Handler interrupt pending
5 = Modem status
6 = Modem interrupt pending
7 = Chip status
8 = Chip status interrupt pending
9 = Current state
10 = Latched RSSI value as defined in MODEM_RSSI_CONTROL:LATCH
Register View
FRR_CTL_C_MODE
7 6 5 4 3 2 1 0
FRR_C_MODE[7:0]
0x09
46 Rev. 0.1
AN625
3.5.8. FRR_CTL_D_MODE
Summary: Fast Response Register D Configuration
Purpose:
Set the data that is present in fast response register D.
Property: 0x0203
Default: 0x00
Fields:
FRR_A_MODE[7:0] - default:0x00
0 = Disabled. Will always read back 0
1 = Global status
2 = Global interrupt pending
3 = Packet Handler status
4 = Packet Handler interrupt pending
5 = Modem status
6 = Modem interrupt pending
7 = Chip status
8 = Chip status interrupt pending
9 = Current state
10 = Latched RSSI value as defined in MODEM_RSSI_CONTROL:LATCH
Register View
FRR_CTL_D_MODE
7 6 5 4 3 2 1 0
FRR_A_MODE[7:0]
0x00
Rev. 0.1 47
AN625
3.5.9. SYNC_BITS_31_24
Summary: Byte 3 of sync word
Purpose:
Sync bytes are always sent bit 0 first.
Property: 0x1101
Default: 0x2D
Fields:
BITS_31_24[7:0] - default:0x2D Sync bytes are always sent bit 0 first.
Range: 0-0xff
Register View
SYNC_BITS_31_24
7 6 5 4 3 2 1 0
BITS_31_24[7:0]
0x2D
3.5.10. SYNC_BITS_23_16
Summary: Byte 2 of sync word
Purpose:
Sync bytes are always sent bit 0 first.
Property: 0x1102
Default: 0xD4
Fields:
BITS_23_16[7:0] - default:0xD4 Sync bytes are always sent bit 0 first.
Range: 0-0xff
Register View
SYNC_BITS_23_16
7 6 5 4 3 2 1 0
BITS_23_16[7:0]
0xD4
48 Rev. 0.1
AN625
3.5.11. EZCONFIG_MODULATION
Summary: Configure modulation using the EZ config feature.
Purpose:
This property selects a modulation type, modulation source and tx direct mode control if supported.
Property: 0x2400
Default: 0x02
Fields:
TX_DIRECT_MODE_TYPE - default:0
0 = Direct mode operates in synchronous mode, applies to TX only.
1 = Direct mode operates in asynchronous mode, applies to TX only. GFSK is not supported.
TX_DIRECT_MODE_GPIO[1:0] - default:0x0
0 = TX direct mode uses gpio0 as data source, applies to TX only.
1 = TX direct mode uses gpio1 as data source, applies to TX only.
2 = TX direct mode uses gpio2 as data source, applies to TX only.
3 = TX direct mode uses gpio3 as data source, applies to TX only.
MOD_SOURCE[1:0] - default:0x0
0 = Modulation source is packet handler fifo
1 = Modulation source is direct mode pin.
2 = Modulation source is pseudo-random generator
MOD_TYPE[1:0] - default:0x2
0 = CW
1 = OOK
2 = FSK
3 = GFSK
Register View
EZCONFIG_MODULATION
7 6 5 4 3 2 1 0
TX_DIRECT_MODE_ TX_DIRECT_MODE_ MOD_SOURCE[1:0] 0 MOD_TYPE[1:0]
TYPE GPIO[1:0]
0 0x0 0x0 0 0x2
Rev. 0.1 49
AN625
3.5.12. FREQ_CONTROL_INTE
Summary: Frac-N PLL integer number.
Purpose:
Fractional-N PLL integer number defined by the modem calculator. See datasheet for frequency equation for manual
calculation.
Property: 0x4000
Default: 0x3C
Fields:
inte[6:0]
- default:0x3C
Range: 0–127
Register View
FREQ_CONTROL_INTE
7 6 5 4 3 2 1 0
0 INTE[6:0]
0 0x3C
3.5.13. FREQ_CONTROL_FRAC_2
Summary: Byte 2 of Frac-N PLL fraction number.
Purpose:
Fractional-N PLL fraction number defined by the modem calculator. See data sheet for frequency equation for manual
calculation.
Property: 0x4001
Default: 0x08
Fields:
frac_2[2:0]
- default:0x0
Range: 0–7
Register View
FREQ_CONTROL_FRAC_2
7 6 5 4 3 2 1 0
0x01 frac_2[2:0]
0x01 0x0
50 Rev. 0.1
AN625
3.5.14. FREQ_CONTROL_FRAC_1
Summary: Byte 1 of Frac-N PLL fraction number.
Purpose:
Fractional-N PLL fraction number defined by the modem calculator. See datasheet for frequency equation for manual
calculation.
Property: 0x4002
Default: 0x00
Fields:
frac_1[7:0]
- default:0x00
Range: 0–255
Register View
FREQ_CONTROL_FRAC_1
7 6 5 4 3 2 1 0
FRAC_1[7:0]
0x00
3.5.15. FREQ_CONTROL_FRAC_0
Summary: Byte 0 of Frac-N PLL fraction number.
Purpose:
Fractional-N PLL fraction number defined by the modem calculator. See datasheet for frequency equation for manual
calculation.
Property: 0x4003
Default: 0x00
Fields:
frac_0[7:0]
- default:0x00
Range: 0-255
Register View
FREQ_CONTROL_FRAC_0
7 6 5 4 3 2 1 0
FRAC_0[7:0]
0x00
Rev. 0.1 51
AN625
3.5.16. FREQ_CONTROL_CHANNEL_STEP_SIZE_1
Summary: Byte 1 of channel step size.
Purpose:
Channel frequency step size used when using EZ frequency programming. EZ frequency programming is defined by base
frequency (inte + frac ) + channel number x step size.
Property: 0x4004
Default: 0x00
Fields:
channel_step_size_1[7:0] - default:0x00
Range: 0-255
Register View
FREQ_CONTROL_CHANNEL_STEP_SIZE_1
7 6 5 4 3 2 1 0
CHANNEL_STEP_SIZE_1[7:0]
0x00
3.5.17. FREQ_CONTROL_CHANNEL_STEP_SIZE_0
Summary: Byte 0 of channel step size.
Purpose:
Channel frequency step size used when using EZ frequency programming. EZ frequency programming is defined by base
frequency (inte + frac ) + channel number x step size.
Property: 0x4005
Default: 0x00
Fields:
channel_step_size_0[7:0] - default:0x00
Range: 0–255
Register View
FREQ_CONTROL_CHANNEL_STEP_SIZE_0
7 6 5 4 3 2 1 0
CHANNEL_STEP_SIZE_0[7:0]
0x00
52 Rev. 0.1
AN625
3.5.18. GLOBAL_XO_TUNE
Summary: Configure crystal oscillator frequency tuning bank
Purpose:
Crystal
oscillator frequency tuning value. 0x00 is maximum frequency value and 0x7F is lowest frequency value. Each
LSB code corresponds to a 70fF capacitance change. The total adjustment range assuming a 30MHz XTAL is +/-100ppm.
Property: 0x0000
Default: 0x40
Fields:
TUNE_VALUE[6:0] - default:0x40
0 = Maximum frequency
127 = Lowest frequency
Register View
GLOBAL_XO_TUNE
7 6 5 4 3 2 1 0
0 TUNE_VALUE[6:0]
0 0x40
3.5.19. GLOBAL_CLK_CFG
Summary: Clock configuration options
Purpose:
Property: 0x0001
Default: 0
Fields:
DIVIDED_CLK_EN - default:0
0 = Divided clock output is disabled.
1 = Divided clock output is enabled.
DIVIDED_CLK_SEL[2:0] - default:0x0
0 = Clock output is system clock divided by 1.
1 = Clock output is system clock divided by 2.
2 = Clock output is system clock divided by 3.
3 = Clock output is system clock divided by 7.5.
4 = Clock output is system clock divided by 10.
5 = Clock output is system clock divided by 15.
6 = Clock output is system clock divided by 30.
CLK_32K_SEL[2:0] - default:0x0
0 = 32 kHz clock is disabled
1 = 32 kHz clock is driven by internal RC oscillator
2 = 32 kHz clock is driven by External crystal
Register View
GLOBAL_CLK_CFG
7 6 5 4 3 2 1 0
0 DIVIDED_CLK_EN DIVIDED_CLK_SEL[2:0] CLK_32K_SEL[2:0]
0 0 0x0 0x0
Rev. 0.1 53
AN625
3.5.20. GLOBAL_LOW_BATT_THRESH
Summary: Low battery threshold
Purpose:
Sets the low battery threshold
Property: 0x0002
Default: 0x18
Fields:
THRESHOLD[4:0] - default:0x18
Range: 0-31 - vdd_thresh = (30 + THRESH)/20. Default 2.7V
0 = 1.52 V
31 = 3.13 V
Register View
GLOBAL_LOW_BATT_THRESH
7 6 5 4 3 2 1 0
0x0 THRESHOLD[4:0]
0x0 0x18
3.5.21. GLOBAL_CONFIG
Summary: Global configuration settings
Purpose:
Various settings that affect entire chip. If PROTOCOL is specified, the chip is placed into protocol aware state.
Property: 0x0003
Default: 0
Fields:
PROTOCOL[2:0] - default:0x0
0x0 = Packet format is generic, no dynamic reprogramming of packet handler properties.
0x1 = Packet format is IEEE802.15.4g compliance.
POWER_MODE - default:0
0 = High performance mode for RX and TX. RX current = 13 mA.
1 = Low power mode for RX and TX. RX current = 10 mA.
Register View
GLOBAL_CONFIG
7 6 5 4 3 2 1 0
0x0 PROTOCOL[2:0] POWER_MODE
0x0 0x0 0
54 Rev. 0.1
AN625
3.5.22. GLOBAL_WUT_CONFIG
Summary: GLOBAL WUT configuation
Purpose:
Program WUT and enable events, Low Battery Detector support , Low Duty Cycle operation.
Property: 0x0004
Default: 0x00
Fields:
WUT_LDC_EN[1:0] - default:0x0
0 = Disable LDC operation
1 = treated as wake-up - START_RX. - START_RX end state is used .
Could allow hopping; need to determine how to support LDC in this case .
2 = treated as wake-up - START_TX. - START_TX end state is used .
WUT_CAL_PERIOD[2:0] - default:0x0
0 = If the CAL function is enabled, the chip will be powered on every 1 s.
1 = If the CAL function is enabled, the chip will be powered on every 2 s.
2 = If the CAL function is enabled, the chip will be powered on every 4 s.
3 = If the CAL function is enabled, the chip will be powered on every 8 s.
4 = If the CAL function is enabled, the chip will be powered on every 16 s.
5 = If the CAL function is enabled, the chip will be powered on every 32 s.
6 = If the CAL function is enabled, the chip will be powered on every 64 s.
7 = If the CAL function is enabled, the chip will be powered on every 128 s.
WUT_LBD_EN - default:0
0 = Disable low battery detect
1 = Enable low battery detect on WUT inteval
WUT_EN - default:0
0 = Disable wake up timer
1 = Enable wake up timer
CAL_EN - default:0
0 = Disable calibration timer
1 = Enable calibration timer
Register View
GLOBAL_WUT_CONFIG
7 6 5 4 3 2 1 0
WUT_LDC_EN[1:0] WUT_CAL_PERIOD[2:0] WUT_LBD_EN WUT_EN CAL_EN
0x0 0x0 0 0 0
Rev. 0.1 55
AN625
3.5.23. GLOBAL_WUT_M_15_8
Summary: Configure WUT_M_15_8
Purpose:
Sets HW WUT_M higher byte
Property: 0x0005
Default: 0x00
Fields:
WUT_M_15_8[7:0] - default:0x00
Range: 0–255
Register View
GLOBAL_WUT_M_15_8
7 6 5 4 3 2 1 0
WUT_M_15_8[7:0]
0x00
3.5.24. GLOBAL_WUT_M_7_0
Summary: Configure WUT_M_7_0
Purpose:
Sets HW WUT_M lower byte
Property: 0x0006
Default: 0x01
Fields:
WUT_M_7_0[7:0] - default:0x01
Range: 1-255
Register View
GLOBAL_WUT_M_7_0
7 6 5 4 3 2 1 0
WUT_M_7_0[7:0]
0x01
56 Rev. 0.1
AN625
3.5.25. GLOBAL_WUT_R
Summary: Configure WUT_R
Purpose:
Sets HW WUT_R
Property: 0x0007
Default: 0x00
Fields:
WUT_SLEEP - default:0
0 = Go to Ready state after WUT
1 = Go to Sleep state after WUT
WUT_R[4:0] - default:0x00
Range: 0-20
Register View
GLOBAL_WUT_R
7 6 5 4 3 2 1 0
0x0 WUT_SLEEP WUT_R[4:0]
0x0 0 0x00
3.5.26. GLOBAL_WUT_LDC
Summary: Configure WUT_LDC
Purpose:
Sets firmware internal WUT_LDC
Property: 0x0008
Default: 0x00
Fields
WUT_LDC[7:0] - default:0x00
Range: 0–255
Register View
GLOBAL_WUT_LDC
7 6 5 4 3 2 1 0
WUT_LDC[7:0]
0x00
Rev. 0.1 57
AN625
3.5.27. PREAMBLE_TX_LENGTH
Summary: Preamble length
Purpose:
Byte or nibble length of preamble to send, depends on LENGTH_CONFIG field in PREAMBLE_CONFIG property.
Property: 0x1000
Default: 0x08
Fields:
TX_LENGTH[7:0] - default:0x08 Byte or nibble length of preamble to send, depends on LENGTH_CONFIG field in
PREAMBLE_CONFIG property.
Range: 0–255
Register View
PREAMBLE_TX_LENGTH
7 6 5 4 3 2 1 0
TX_LENGTH[7:0]
0x08
3.5.28. PREAMBLE_CONFIG_STD_1
Summary: Standard preamble configuration
Purpose:
Note: This field only applies to standard preambles.
Property: 0x1001
Default: 0x14
Fields:
SKIP_SYNC_TIMEOUT - default:0
0x1 = In standard packet mode, if set the system will ignore the syncword search timeout reset.
RX_THRESH[6:0] - default:0x14
Number of preamble bits that must be valid to detect a valid preamble.
Zero is a valid value in this field means that the preamble checking will be skipped.
Range: 0–127
Register View:
PREAMBLE_CONFIG_STD_1
7 6 5 4 3 2 1 0
SKIP_SYNC_TIMEOUT RX_THRESH[6:0]
0 0x14
58 Rev. 0.1
AN625
3.5.29. PREAMBLE_CONFIG_NSTD
Summary: Non-standard preamble configuration
Purpose:
Note: This field only applies to non-standard preambles.
Property: 0x1002
Default: 0x00
Fields:
RX_ERRORS[2:0] - default:0x0 Number of preamble bit errors that are allowed when detecting a valid preamble.
Range: 0–7
PATTERN_LENGTH[4:0] - default:0x00 This value plus 1 is the number of valid bits of PREAMBLE_PATTERN. If
PREAM_TX_LENGTH is longer, this pattern will repeat.
Range: 0–31
Register View
PREAMBLE_CONFIG_NSTD
7 6 5 4 3 2 1 0
RX_ERRORS[2:0] PATTERN_LENGTH[4:0]
0x0 0x00
3.5.30. PREAMBLE_CONFIG_STD_2
Summary: Standard preamble configuration
Purpose:
Note: This field only applies to standard preambles.
Property: 0x1003
Default: 0x0F
Fields:
RX_PREAMBLE_TIMEOUT_EXTEND[3:0] - default:0x0
This is only used for a long preamble timeout, more than 15 nibbles.
If this field is non-zero, then PREAMBLE_TIMEOUT is RX_PREAMBLE_TIMEOUT_EXTEND by 15
nibbles, up to 225 nibbles.
Range: 0–15
RX_PREAMBLE_TIMEOUT[3:0] - default:0xF Number of nibbles to search for before determining that a preamble does
not exist. This is usually used for hopping.
Range: 0–15
Register View
PREAMBLE_CONFIG_STD_2
7 6 5 4 3 2 1 0
RX_PREAMBLE_TIMEOUT_EXTEND[3:0] RX_PREAMBLE_TIMEOUT[3:0]
0x0 0xF
Rev. 0.1 59
AN625
3.5.31. PREAMBLE_CONFIG
Summary: Preamble configuration bits
Purpose:
Misc preamble configuration bits.
Property: 0x1004
Default: 0x21
Fields:
PREAM_FIRST_1_OR_0 - default:1
0x0 = First bit is 0, calculated from the calculator.
0x1 = First bit is 1, calculated from the calculator.
LENGTH_CONFIG - default:0
0x0 = Preamble tx_length register is in nibbles.
0x1 = Preamble tx_length register is in bytes.
MAN_CONST - default:0
0x0 = When Manchester is enabled, if preamble pattern is 0101, the post-Manchester transmitted bits will be
10011001…. If the preamble pattern is 1010, the post-Manchester transmitted bits will be 01100110...
0x1 = When Manchester is enabled, if preamble pattern is 0101, the pre-Manchester pattern will be 1111, the
post-Manchester transmitted bits will be 01010101... If the preamble pattern is 1010, the pre-Manchester pattern will
be 0000, the post-Manchester transmitted bits will be 10101010....
MAN_ENABLE - default:0
0x0 = Preamble is not manchester encoded.
0x1 = Preamble is manchester encoded.
STANDARD_PREAM[1:0] - default:0x1
0x0 = Use non-standard preamble
0x1 = Use standard preamble of 1010.
0x2 = Use standard preamble of 0101.
Register View
PREAMBLE_CONFIG
7 6 5 4 3 2 1 0
0x0 PREAM_FIRST_1_OR_0 LENGTH_CONFIG MAN_CONST MAN_ENABLE STANDARD_PREAM[1:0]
0x0 1 0 0 0 0x1
60 Rev. 0.1
AN625
3.5.32. PREAMBLE_PATTERN_31_24
Summary: Preamble pattern
Purpose:
Preambles always sent bits 0-31 timewise.
Preamble pattern to be transmitted or expected to be received. Field is expressed in chips, after Manchester encoding or
before Manchester decoding.
To use this register, PREAM_CONFIG_STANDARD_PREAM should be set to 0, use non-standard preamble.
Property: 0x1005
Default: 0
Fields:
PATTERN_31_24[7:0] - default:0x00
Preambles always sent bits 0–31 timewise.
Preamble pattern to be transmitted or expected to be received. Field is expressed in chips, after Manchester
encoding or before Manchester decoding.
To use this register, PREAM_CONFIG_STANDARD_PREAM should be set to 0, use non-standard preamble.
Range: 0–0xff
Register View
PREAMBLE_PATTERN_31_24
7 6 5 4 3 2 1 0
PATTERN_31_24[7:0]
0x00
3.5.33. PREAMBLE_PATTERN_23_16
Summary: Preamble pattern
Purpose
Preambles always sent bits 0–31 timewise.
Preamble pattern to be transmitted or expected to be received. Field is expressed in chips, after Manchester encoding or
before Manchester decoding.
To use this register, PREAM_CONFIG_STANDARD_PREAM should be set to 0, use non-standard preamble.
Property: 0x1006
Default: 0
Fields
PATTERN_23_16[7:0] - default:0x00
Preambles always sent bits 0-31 timewise.
Preamble pattern to be transmitted or expected to be received. Field is expressed in chips, after Manchester
encoding or before Manchester decoding.
To use this register, PREAM_CONFIG_STANDARD_PREAM should be set to 0, use non-standard preamble.
Range: 0–0xff
Register View
PREAMBLE_PATTERN_23_16
7 6 5 4 3 2 1 0
PATTERN_23_16[7:0]
0x00
Rev. 0.1 61
AN625
3.5.34. PREAMBLE_PATTERN_15_8
Summary: Preamble pattern
Purpose:
Preambles always sent bits 0-31 timewise.
Preamble pattern to be transmitted or expected to be received. Field is expressed in chips, after Manchester encoding or
before Manchester decoding.
To use this register, PREAM_CONFIG_STANDARD_PREAM should be set to 0, use non-standard preamble.
Property: 0x1007
Default: 0
Fields:
PATTERN_15_8[7:0] - default:0x00
Preambles always sent bits 0-31 timewise.
Preamble pattern to be transmitted or expected to be received. Field is expressed in chips, after Manchester
encoding or before Manchester decoding.
To use this register, PREAM_CONFIG_STANDARD_PREAM should be set to 0, use non-standard preamble.
Range: 0–0xff
Register View
PREAMBLE_PATTERN_15_8
7 6 5 4 3 2 1 0
PATTERN_15_8[7:0]
0x00
3.5.35. PREAMBLE_PATTERN_7_0
Summary: Preamble pattern
Purpose:
Preambles always sent bits 0–31 timewise.
Preamble pattern to be transmitted or expected to be received. Field is expressed in chips, after Manchester encoding or
before Manchester decoding.
To use this register, PREAM_CONFIG_STANDARD_PREAM should be set to 0, use non-standard preamble.
Property: 0x1008
Default: 0
Fields:
PATTERN_7_0[7:0] - default:0x00
Preambles always sent bits 0-31 timewise.
Preamble pattern to be transmitted or expected to be received. Field is expressed in chips, after Manchester
encoding or before Manchester decoding.
To use this register, PREAM_CONFIG_STANDARD_PREAM should be set to 0, use non-standard preamble.
Range: 0–0xff
Register View
PREAMBLE_PATTERN_7_0
7 6 5 4 3 2 1 0
PATTERN_7_0[7:0]
0x00
62 Rev. 0.1
AN625
3.5.36. SYNC_CONFIG
Summary: Sync configuration bits
Purpose:
Misc sync word configuration bits. Least significant bit of sync word is transmitted/received first.
Property: 0x1100
Default: 0x01
Fields:
SKIP_TX - default:0
0x0 = Sync word is transmitted as defined by LENGTH field.
0x1 = Sync word is not transmitted.
RX_ERRORS[2:0] - default:0x0 Number of sync bit errors that are allowed in the sync field during receive sync detection.
4FSK - default:0
0x0 = Sync word is not 4FSK modulated.
0x1 = Sync word is 4FSK modulated.
MANCH - default:0
0x0 = Sync word is not manchester encoded.
0x1 = Sync word is manchester encoded.
LENGTH[1:0] - default:0x1
0x0 = Sync word is 8 bits, sync byte 3 is used.
0x1 = Sync word is 16 bits, sync bytes 2 and 3 are used.
0x2 = Sync word is 24 bits, sync bytes 1, 2, and 3 are used.
0x3 = Sync word is 32 bits, sync bytes 0, 1, 2, and 3 are used.
Register View
SYNC_CONFIG
7 6 5 4 3 2 1 0
SKIP_TX RX_ERRORS[2:0] 4FSK MANCH LENGTH[1:0]
0 0x0 0 0 0x1
3.5.37. SYNC_BITS_15_8
Summary: Byte 1 of sync word
Purpose:
Sync bytes are always sent bit 0 first.
Property: 0x1103
Default: 0x2D
Fields:
BITS_15_8[7:0] - default:0x2D Sync bytes are always sent bit 0 first.
Range: 0–0xff
Register View
SYNC_BITS_15_8
7 6 5 4 3 2 1 0
BITS_15_8[7:0]
0x2D
Rev. 0.1 63
AN625
3.5.38. SYNC_BITS_7_0
Summary: Byte 0 of sync word
Purpose:
Sync bytes are always sent bit 0 first.
Property: 0x1104
Default: 0xD4
Fields:
BITS_7_0[7:0] - default:0xD4 Sync bytes are always sent bit 0 first.
Range: 0–0xff
Register View
SYNC_BITS_7_0
7 6 5 4 3 2 1 0
BITS_7_0[7:0]
0xD4
3.5.39. PKT_CRC_CONFIG
Summary: Select a CRC polynomial and seed
Purpose:
Pick the desired CRC polynomial and CRC seed.
Property: 0x1200
Default: 0
Fields:
CRC_SEED - default:0
0 = Use all 0s for the CRC Seed.
1 = Use all 1s for the CRC Seed.
CRC_POLYNOMIAL[3:0] - default:0x0
0 = No CRC.
1 = ITU-T CRC8: X8+X2+X+1
2 = IEC-16: X16+X14+X12+X11+X9+X8+X7+X4+X+1
3 = Baicheva-16: X16+X15+X12+X7+X6+X4+X3+1
4 = CRC-16 (IBM): X16+X15+X2+1
5 = CCIT-16: X16+X12+X5+1
6 = Koopman: X32+X30+X29+X28+X26+X20+X19+X17+X16+X15+X11+X10+X7+X6+X4+X2+X+1
7 = IEEE 802.3: X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1
8 = Castagnoli: X32+X28+X27+X26+X25+X23+X22+X20+X19+X18+X14+X13+X11+X10+X9+X8+X6+1
Register View
PKT_CRC_CONFIG
7 6 5 4 3 2 1 0
CRC_SEED 0x0 CRC_POLYNOMIAL[3:0]
0 0x0 0x0
64 Rev. 0.1
AN625
3.5.40. PKT_CONFIG1
Summary: General packet configuration bits
Purpose:
General packet configuration bits.
Property: 0x1206
Default: 0
Fields:
PH_FIELD_SPLIT - default:0
0 = Field level properties (property 0x120D to 0x1220) are shared between TX and RX.
1 = Field level properties are split between TX and RX. TX: from 0x120D ~ 0x1220, RX: from 0x1221 ~ 0x1234
PH_RX_DISABLE - default:0
0 = Packet handler is enabled in RX.
1 = Packet handler is disabled in RX.
4FSK_EN - default:0
0 = The modem is not in 4FSK mode.
1 = The modem is in 4FSK mode.
RX_MULTI_PKT - default:0
0x0 = Turn off receive chain after packet received.
0x1 = Leave receive chain enabled after packet received.
MANCH_POL - default:0
0x0 = 0 is encoded/decoded to/from 01 Manchester pattern.
0x1 = 0 is encoded/decoded to/from 10 Manchester pattern.
CRC_INVERT - default:0
0x0 = Leave each CRC bit intact.
0x1 = Invert each CRC bit before transmit. Invert received CRC before comparison. Data in fifo remains untouched.
CRC_ENDIAN - default:0
0x0 = CRC low bytes are received/transmitted first.
0x1 = CRC high bytes are received/transmitted first.
BIT_ORDER - default:0
0x0 = Msb first for all fields. Bit 7 transmitted first timewise. Note: Preamble and sync word are always transmitted lsb
first.
0x1 = Lsb first for all fields. Bit 0 transmitted first timewise.
Register View
PKT_CONFIG1
7 6 5 4 3 2 1 0
PH_FIELD_ PH_RX_ 4FSK_EN RX_MULTI_PKT MANCH_POL CRC_ CRC_ BIT_ORDER
SPLIT DISABLE INVERT ENDIAN
0 0 0 0 0 0 0 0
Rev. 0.1 65
AN625
3.5.41. PKT_LEN
Summary: Provides information regarding how to use the length from the received packet.
Purpose:
This property is used for variable length packet reception.
Property: 0x1208
Default: 0x00
Fields:
ENDIAN - default:0
0x0 = The length field is least significant byte first.
0x1 = The length field is most significant byte first.
SIZE - default:0
0x0 = The length field is one byte in length.
0x1 = The length field is two bytes in length.
IN_FIFO - default:0
0x0 = The data bytes containing the length field are not put in the fifo.
0x1 = The data bytes containing the length field are put in the fifo.
DST_FIELD[2:0] - default:0x0
Selects field number that will vary in length.
A value of 0 in this field specifies fixed packet length mode. Field 2 to 5 can be designated as variable length field.
Register View
PKT_LEN
7 6 5 4 3 2 1 0
0x0 ENDIAN SIZE IN_FIFO DST_FIELD[2:0]
0x0 0 0 0 0x0
3.5.42. PKT_LEN_FIELD_SOURCE
Summary: Field number containing the embedded length field.
Purpose:
This property is used in variable packet mode defining where the length field is in the packet.
The length field must be the last byte in a fixed length field and precede the variable length field
Property: 0x1209
Default: 0
Fields:
SRC_FIELD[2:0] - default:0x0
Selects field number that contains the length field.
A value of 0 in this field is treated as 1.
Range: 0–4
Register View
PKT_LEN_FIELD_SOURCE
7 6 5 4 3 2 1 0
0x00 SRC_FIELD[2:0]
0x00 0x0
66 Rev. 0.1
AN625
3.5.43. PKT_LEN_ADJUST
Summary: Adjust length field by this amount to derive the variable length information.
Purpose:
This property is used to add or subtract a constant to the value extracted from the length field in the packet.
The result is used to set the length of the selected destination field that varies in length.
It is assumed the length field embedded in the packet includes the length field itself. LEN_ADJUST can be set to 0xFF for
1 byte length field or 0xFE for 2-byte length field if the length field is not inclusive.
LEN_ADJUST is a signed char.
Property: 0x120A
Default: 0
Fields:
LEN_ADJUST[7:0] - default:0x00
This property is used to add or subtract a constant to the value extracted from the length field in the packet.
The result is used to set the length of the selected destination field that varies in length.
It is assumed the length field embedded in the packet includes the length field itself. LEN_ADJUST can be set to
0xFF for 1byte length field or 0xFE for 2-byte length field if the length field is not inclusive.
LEN_ADJUST is a signed char.
Range: –128 to 127
Register View
PKT_LEN_ADJUST
7 6 5 4 3 2 1 0
LEN_ADJUST[7:0]
0x00
3.5.44. PKT_TX_THRESHOLD
Summary: TX almost empty threshold.
Purpose:
Transmit
almost empty interrupt fires when the amount of space in the transmit fifo equal to or greater than
TX_THRESHOLD.
Property: 0x120B
Default: 0x30
Fields:
TX_THRESHOLD[7:0] - default:0x30 Transmit almost empty interrupt fires when the amount of space in the transmit fifo
equal to or greater than TX_THRESHOLD.
Range: 0–64
Register View
PKT_TX_THRESHOLD
7 6 5 4 3 2 1 0
TX_THRESHOLD[7:0]
0x30
Rev. 0.1 67
AN625
3.5.45. PKT_RX_THRESHOLD
Summary: RX almost full threshold.
Purpose:
Receive almost full interrupt fires when there are RX_THRESHOLD number of bytes present in the receive fifo.
Property: 0x120C
Default: 0x30
Fields:
RX_THRESHOLD[7:0] - default:0x30 Receive almost full interrupt fires when there are RX_THRESHOLD number of
bytes present in the receive fifo.
Range: 0–64
Register View
PKT_RX_THRESHOLD
7 6 5 4 3 2 1 0
RX_THRESHOLD[7:0]
0x30
3.5.46. PKT_FIELD_1_LENGTH_12_8
Summary: Byte 1 of field length
Purpose:
This property specifices the length of this field in bytes.
A value of zero in this property means that the field is not used.
If the field is programmed as a variable length field, this property sets the maximum length of the field.
Property: 0x120D
Default: 0x00
Fields:
FIELD_1_LENGTH_12_8[4:0] - default:0x00
0x0 = Bit 8 to 12 of the field length.
Register View
PKT_FIELD_1_LENGTH_12_8
7 6 5 4 3 2 1 0
0x0 FIELD_1_LENGTH_12_8[4:0]
0x0 0x00
68 Rev. 0.1
AN625
3.5.47. PKT_FIELD_1_LENGTH_7_0
Summary: Byte 0 of field length
Purpose:
See byte 1 for details.
Property: 0x120E
Default: 0x00
Fields:
FIELD_1_LENGTH_7_0[7:0] - default:0x00 See byte 1 for details.
Range: 0–0xff
Register View
PKT_FIELD_1_LENGTH_7_0
7 6 5 4 3 2 1 0
FIELD_1_LENGTH_7_0[7:0]
0x00
3.5.48. PKT_FIELD_1_CONFIG
Summary: Field 1 configuration bits.
Purpose:
Field 1 configuration bits common to TX and RX.
Property: 0x120F
Default: 0x00
Fields:
4FSK- default:0
0x1 = Enable 4fsk on this field.
PN_START - default:0
0x1 = Load PN-9 engine with seed value at the start of this field.
WHITEN - default:0
0x1 = Enable whitening on this field.
MANCH - default:0
0x1 = Enable manchester encoding on this field.
Register View
PKT_FIELD_1_CONFIG
7 6 5 4 3 2 1 0
0x0 4FSK 0 PN_START WHITEN MANCH
0x0 0 0 0 0 0
Rev. 0.1 69
AN625
3.5.49. PKT_FIELD_1_CRC_CONFIG
Summary: Field 1 CRC configuration bits.
Purpose:
Field 1 CRC configuration bits.
Property: 0x1210
Default: 0x00
Fields:
CRC32_START - default:0
0x1 = Load CRC engine with seed value at the start of this field using CRC32_SEED.
SEND_CRC32 - default:0
CHECK_CRC32 - default:0
0x1 = Check CRC at the end of this field. If PH_FIELD_SPLIT is set, this bit is ignored.
CRC32_ENABLE - default:0
0x1 = Enable CRC over this field.
Register View
PKT_FIELD_1_CRC_CONFIG
7 6 5 4 3 2 1 0
CRC32_START 0 SEND_CRC32 0 CHECK_CRC32 0 CRC32_ENABLE
0 0 0 0 0 0 0
3.5.50. PKT_FIELD_2_LENGTH_12_8
Summary: Byte 1 of field length
Purpose:
This property specifices the length of this field in bytes.
A value of zero in this property means that the field is not used.
If the field is programmed as a variable length field, this property sets the maximum length of the field.
Property: 0x1211
Default: 0x00
Fields:
FIELD_2_LENGTH_12_8[4:0] - default:0x00
0x0 = Bit 8 to 12 of the field length.
Register View
PKT_FIELD_2_LENGTH_12_8
7 6 5 4 3 2 1 0
0x0 FIELD_2_LENGTH_12_8[4:0]
0x0 0x00
70 Rev. 0.1
AN625
3.5.51. PKT_FIELD_2_LENGTH_7_0
Summary: Byte 0 of field length
Purpose:
See byte 1 for details.
Property: 0x1212
Default: 0x00
Fields:
FIELD_2_LENGTH_7_0[7:0] - default:0x00 See byte 1 for details.
Range: 0-0xff
Register View
PKT_FIELD_2_LENGTH_7_0
7 6 5 4 3 2 1 0
FIELD_2_LENGTH_7_0[7:0]
0x00
3.5.52. PKT_FIELD_2_CONFIG
Summary: Field 2 configuration bits.
Purpose:
Field 2 configuration bits common to TX and RX.
Property: 0x1213
Default: 0x00
Fields:
4FSK- default:0
0x1 = Enable 4fsk on this field.
RESERVED - default:0 Reserved.
WHITEN - default:0
0x1 = Enable whitening on this field.
MANCH - default:0
0x1 = Enable manchester encoding on this field.
Register View
PKT_FIELD_2_CONFIG
7 6 5 4 3 2 1 0
0x0 4FSK 0 RESERVED WHITEN MANCH
0x0 0 0 0 0 0
Rev. 0.1 71
AN625
3.5.53. PKT_FIELD_2_CRC_CONFIG
Summary: Field 2 CRC configuration bits.
Purpose:
Field 2 CRC configuration bits.
Property: 0x1214
Default: 0x00
Fields:
RESERVED[1:0] - default:0x0 Reserved.
SEND_CRC32 - default:0
0x1 = Transmit CRC at the end of this field
CHECK_CRC32 - default:0
0x1 = Check CRC at the end of this field. If PH_FIELD_SPLIT is set, this bit is ignored.
CRC32_ENABLE - default:0
0x1 = Enable CRC over this field.
Register View
PKT_FIELD_2_CRC_CONFIG
7 6 5 4 3 2 1 0
RESERVED[1:0] SEND_CRC32 0 CHECK_CRC32 0 CRC32_ENABLE
0x0 0 0 0 0 0
3.5.54. PKT_FIELD_3_LENGTH_12_8
Summary: Byte 1 of field length
Purpose:
This property specifices the length of this field in bytes.
A value of zero in this property means that the field is not used.
If the field is programmed as a variable length field, this property sets the maximum length of the field.
Property: 0x1215
Default: 0x00
Fields:
FIELD_3_LENGTH_12_8[4:0] - default:0x00
0x0 = Bit 8 to 12 of the field length.
Register View
PKT_FIELD_3_LENGTH_12_8
7 6 5 4 3 2 1 0
0x0 FIELD_3_LENGTH_12_8[4:0]
0x0 0x00
72 Rev. 0.1
AN625
3.5.55. PKT_FIELD_3_LENGTH_7_0
Summary: Byte 0 of field length
Purpose:
See byte 1 for details.
Property: 0x1216
Default: 0x00
Fields:
FIELD_3_LENGTH_7_0[7:0] - default:0x00 See byte 1 for details.
Range: 0–0xff
Register View
PKT_FIELD_3_LENGTH_7_0
7 6 5 4 3 2 1 0
FIELD_3_LENGTH_7_0[7:0]
0x00
3.5.56. PKT_FIELD_3_CONFIG
Summary: Field 3 configuration bits.
Purpose:
Field 3 configuration bits common to TX and RX.
Property: 0x1217
Default: 0x00
Fields:
4FSK- default:0
0x1 = Enable 4fsk on this field.
RESERVED - default:0 Reserved.
WHITEN - default:0
0x1 = Enable whitening on this field.
MANCH - default:0
0x1 = Enable manchester encoding on this field.
Register View
PKT_FIELD_3_CONFIG
7 6 5 4 3 2 1 0
0x0 4FSK 0 RESERVED WHITEN MANCH
0x0 0 0 0 0 0
Rev. 0.1 73
AN625
3.5.57. PKT_FIELD_3_CRC_CONFIG
Summary: Field 3 CRC configuration bits.
Purpose:
Field 3 CRC configuration bits.
Property: 0x1218
Default: 0x00
Fields:
RESERVED[1:0] - default:0x0 Reserved.
SEND_CRC32 - default:0
0x1 = Transmit CRC at the end of this field
CHECK_CRC32 - default:0
0x1 = Check CRC at the end of this field. If PH_FIELD_SPLIT is set, this bit is ignored.
CRC32_ENABLE - default:0
0x1 = Enable CRC over this field.
Register View
PKT_FIELD_3_CRC_CONFIG
7 6 5 4 3 2 1 0
RESERVED[1:0] SEND_CRC32 0 CHECK_CRC32 0 CRC32_ENABLE
0x0 0 0 0 0 0
3.5.58. PKT_FIELD_4_LENGTH_12_8
Summary: Byte 1 of field length
Purpose:
This property specifices the length of this field in bytes.
A value of zero in this property means that the field is not used.
If the field is programmed as a variable length field, this property sets the maximum length of the field.
Property: 0x1219
Default: 0x00
Fields:
FIELD_4_LENGTH_12_8[4:0] - default:0x00
0x0 = Bit 8 to 12 of the field length.
Register View
PKT_FIELD_4_LENGTH_12_8
7 6 5 4 3 2 1 0
0x0 FIELD_4_LENGTH_12_8[4:0]
0x0 0x00
74 Rev. 0.1
AN625
3.5.59. PKT_FIELD_4_LENGTH_7_0
Summary: Byte 0 of field length
Purpose:
See byte 1 for details.
Property: 0x121A
Default: 0x00
Fields:
FIELD_4_LENGTH_7_0[7:0] - default:0x00 See byte 1 for details.
Range: 0–0xff
Register View
PKT_FIELD_4_LENGTH_7_0
7 6 5 4 3 2 1 0
FIELD_4_LENGTH_7_0[7:0]
0x00
3.5.60. PKT_FIELD_4_CONFIG
Summary: Field 4 configuration bits.
Purpose:
Field 4 configuration bits common to TX and RX.
Property: 0x121B
Default: 0x00
Fields:
4FSK- default:0
0x1 = Enable 4fsk on this field.
RESERVED - default:0 Reserved.
WHITEN - default:0
0x1 = Enable whitening on this field.
MANCH - default:0
0x1 = Enable manchester encoding on this field.
Register View
PKT_FIELD_4_CONFIG
7 6 5 4 3 2 1 0
0x0 4FSK 0 RESERVED WHITEN MANCH
0x0 0 0 0 0 0
Rev. 0.1 75
AN625
3.5.61. PKT_FIELD_4_CRC_CONFIG
Summary: Field 4 CRC configuration bits.
Purpose:
Field 4 CRC configuration bits.
Property: 0x121C
Default: 0x00
Fields:
RESERVED[1:0] - default:0x0 Reserved.
SEND_CRC32 - default:0
0x1 = Transmit CRC at the end of this field
CHECK_CRC32 - default:0
0x1 = Check CRC at the end of this field. If PH_FIELD_SPLIT is set, this bit is ignored.
CRC32_ENABLE - default:0
0x1 = Enable CRC over this field.
Register View
PKT_FIELD_4_CRC_CONFIG
7 6 5 4 3 2 1 0
RESERVED[1:0] SEND_CRC32 0 CHECK_CRC32 0 CRC32_ENABLE
0x0 0 0 0 0 0
3.5.62. PKT_FIELD_5_LENGTH_12_8
Summary: Byte 1 of field length
Purpose:
This property specifices the length of this field in bytes.
A value of zero in this property means that the field is not used.
If the field is programmed as a variable length field, this property sets the maximum length of the field.
Property: 0x121D
Default: 0x00
Fields:
FIELD_5_LENGTH_12_8[4:0] - default:0x00
0x0 = Bit 8 to 12 of the field length.
Register View
PKT_FIELD_5_LENGTH_12_8
7 6 5 4 3 2 1 0
0x0 FIELD_5_LENGTH_12_8[4:0]
0x0 0x00
76 Rev. 0.1
AN625
3.5.63. PKT_FIELD_5_LENGTH_7_0
Summary: Byte 0 of field length
Purpose:
See byte 1 for details.
Property: 0x121E
Default: 0x00
Fields:
FIELD_5_LENGTH_7_0[7:0] - default:0x00 See byte 1 for details.
Range: 0–0xff
Register View
PKT_FIELD_5_LENGTH_7_0
7 6 5 4 3 2 1 0
FIELD_5_LENGTH_7_0[7:0]
0x00
3.5.64. PKT_FIELD_5_CONFIG
Summary: Field 5 configuration bits.
Purpose:
Field 5 configuration bits common to TX and RX.
Property: 0x121F
Default: 0x00
Fields:
4FSK- default:0
0x1 = Enable 4fsk on this field.
RESERVED - default:0 Reserved.
WHITEN - default:0
0x1 = Enable whitening on this field.
MANCH - default:0
0x1 = Enable manchester encoding on this field.
Register View
PKT_FIELD_5_CONFIG
7 6 5 4 3 2 1 0
0x0 4FSK 0 RESERVED WHITEN MANCH
0x0 0 0 0 0 0
Rev. 0.1 77
AN625
3.5.65. PKT_FIELD_5_CRC_CONFIG
Summary: Field 5 CRC configuration bits.
Purpose:
Field 5 CRC configuration bits.
Property: 0x1220
Default: 0x00
Fields:
RESERVED[1:0] - default:0x0 Reserved.
SEND_CRC32 - default:0
0x1 = Transmit CRC at the end of this field
CHECK_CRC32 - default:0
0x1 = Check CRC at the end of this field. If PH_FIELD_SPLIT is set, this bit is ignored.
CRC32_ENABLE - default:0
0x1 = Enable CRC over this field.
Register View
PKT_FIELD_5_CRC_CONFIG
7 6 5 4 3 2 1 0
RESERVED[1:0] SEND_CRC32 0 CHECK_CRC32 0 CRC32_ENABLE
0x0 0 0 0 0 0
3.5.66. PKT_RX_FIELD_1_LENGTH_12_8
Summary: Byte 1 of field length for RX
Purpose:
This property specifices the length of this field in bytes.
A value of zero in this property means that the field is not used.
If the field is programmed as a variable length field, this property sets the maximum length of the field.
Property: 0x1221
Default: 0x00
Fields:
RX_FIELD_1_LENGTH_12_8[4:0] - default:0x00
0x0 = Bit 8 to 12 of the field length.
Register View
PKT_RX_FIELD_1_LENGTH_12_8
7 6 5 4 3 2 1 0
0x0 RX_FIELD_1_LENGTH_12_8[4:0]
0x0 0x00
78 Rev. 0.1
AN625
3.5.67. PKT_RX_FIELD_1_LENGTH_7_0
Summary: Byte 0 of field length for RX
Purpose:
See byte 1 for details.
Property: 0x1222
Default: 0x00
Fields:
RX_FIELD_1_LENGTH_7_0[7:0] - default:0x00 See byte 1 for details.
Range: 0–0xff
Register View
PKT_RX_FIELD_1_LENGTH_7_0
7 6 5 4 3 2 1 0
RX_FIELD_1_LENGTH_7_0[7:0]
0x00
3.5.68. PKT_RX_FIELD_1_CONFIG
Summary: Field 1 configuration bits for RX.
Purpose:
Field 1 configuration bits for RX.
Property: 0x1223
Default: 0x00
Fields:
4FSK- default:0
0x1 = Enable 4fsk on this field.
PN_START - default:0
0x1 = Load PN-9 engine with seed value at the start of this field.
WHITEN - default:0
0x1 = Enable whitening on this field.
MANCH - default:0
0x1 = Enable manchester encoding on this field.
Register View
PKT_RX_FIELD_1_CONFIG
7 6 5 4 3 2 1 0
0x0 4FSK 0 PN_START WHITEN MANCH
0x0 0 0 0 0 0
Rev. 0.1 79
AN625
3.5.69. PKT_RX_FIELD_1_CRC_CONFIG
Summary: Field 1 CRC configuration bits for RX.
Purpose:
Field 1 CRC configuration bits.
Property: 0x1224
Default: 0x00
Fields:
CRC32_START - default:0
0x1 = Load CRC engine with seed value at the start of this field using CRC_SEED.
CHECK_CRC32 - default:0
0x1 = Check CRC at the end of this field
CRC32_ENABLE - default:0
0x1 = Enable CRC over this field.
Register View
PKT_RX_FIELD_1_CRC_CONFIG
7 6 5 4 3 2 1 0
CRC32_START 0x0 CHECK_CRC32 0 CRC32_ENABLE
0 0x0 0 0 0
3.5.70. PKT_RX_FIELD_2_LENGTH_12_8
Summary: Byte 1 of field length for RX
Purpose:
This property specifices the length of this field in bytes.
A value of zero in this property means that the field is not used.
If the field is programmed as a variable length field, this property sets the maximum length of the field.
Property: 0x1225
Default: 0x00
Fields:
RX_FIELD_2_LENGTH_12_8[4:0] - default:0x00
0x0 = Bit 8 to 12 of the field length.
Register View
PKT_RX_FIELD_2_LENGTH_12_8
7 6 5 4 3 2 1 0
0x0 RX_FIELD_2_LENGTH_12_8[4:0]
0x0 0x00
80 Rev. 0.1
AN625
3.5.71. PKT_RX_FIELD_2_LENGTH_7_0
Summary: Byte 0 of field length for RX
Purpose:
See byte 1 for details.
Property: 0x1226
Default: 0x00
Fields:
RX_FIELD_2_LENGTH_7_0[7:0] - default:0x00 See byte 1 for details.
Range: 0–0xff
Register View
PKT_RX_FIELD_2_LENGTH_7_0
7 6 5 4 3 2 1 0
RX_FIELD_2_LENGTH_7_0[7:0]
0x00
3.5.72. PKT_RX_FIELD_2_CONFIG
Summary: Field 2 configuration bits for RX.
Purpose:
Field 2 configuration bits for RX.
Property: 0x1227
Default: 0x00
Fields:
4FSK- default:0
0x1 = Enable 4fsk on this field.
RESERVED - default:0 Reserved.
WHITEN - default:0
0x1 = Enable whitening on this field.
MANCH - default:0
0x1 = Enable manchester encoding on this field.
Register View
PKT_RX_FIELD_2_CONFIG
7 6 5 4 3 2 1 0
0x0 4FSK 0 RESERVED WHITEN MANCH
0x0 0 0 0 0 0
Rev. 0.1 81
AN625
3.5.73. PKT_RX_FIELD_2_CRC_CONFIG
Summary: Field 2 CRC configuration bits for RX.
Purpose:
Field 2 CRC configuration bits.
Property: 0x1228
Default: 0x00
Fields:
RESERVED[1:0] - default:0x0 Reserved.
CHECK_CRC32 - default:0
0x1 = Check CRC at the end of this field
CRC32_ENABLE - default:0
0x1 = Enable CRC over this field.
Register View
PKT_RX_FIELD_2_CRC_CONFIG
7 6 5 4 3 2 1 0
RESERVED[1:0] 0x0 CHECK_CRC32 0 CRC32_ENABLE
0x0 0x0 0 0 0
3.5.74. PKT_RX_FIELD_3_LENGTH_12_8
Summary: Byte 1 of field length for RX
Purpose:
This property specifices the length of this field in bytes.
A value of zero in this property means that the field is not used.
If the field is programmed as a variable length field, this property sets the maximum length of the field.
Property: 0x1229
Default: 0x00
Fields:
RX_FIELD_3_LENGTH_12_8[4:0] - default:0x00
0x0 = Bit 8 to 12 of the field length.
Register View
PKT_RX_FIELD_3_LENGTH_12_8
7 6 5 4 3 2 1 0
0x0 RX_FIELD_3_LENGTH_12_8[4:0]
0x0 0x00
82 Rev. 0.1
AN625
3.5.75. PKT_RX_FIELD_3_LENGTH_7_0
Summary: Byte 0 of field length for RX
Purpose:
See byte 1 for details.
Property: 0x122A
Default: 0x00
Fields:
RX_FIELD_3_LENGTH_7_0[7:0] - default:0x00 See byte 1 for details.
Range: 0–0xff
Register View
PKT_RX_FIELD_3_LENGTH_7_0
7 6 5 4 3 2 1 0
RX_FIELD_3_LENGTH_7_0[7:0]
0x00
3.5.76. PKT_RX_FIELD_3_CONFIG
Summary: Field 3 configuration bits for RX.
Purpose:
Field 3 configuration bits for RX.
Property: 0x122B
Default: 0x00
Fields:
4FSK- default:0
0x1 = Enable 4fsk on this field.
RESERVED - default:0 Reserved.
WHITEN - default:0
0x1 = Enable whitening on this field.
MANCH - default:0
0x1 = Enable manchester encoding on this field.
Register View
PKT_RX_FIELD_3_CONFIG
7 6 5 4 3 2 1 0
0x0 4FSK 0 RESERVED WHITEN MANCH
0x0 0 0 0 0 0
Rev. 0.1 83
AN625
3.5.77. PKT_RX_FIELD_3_CRC_CONFIG
Summary: Field 3 CRC configuration bits for RX.
Purpose:
Field 3 CRC configuration bits.
Property: 0x122C
Default: 0x00
Fields:
RESERVED[1:0] - default:0x0 Reserved.
CHECK_CRC32 - default:0
0x1 = Check CRC at the end of this field
CRC32_ENABLE - default:0
0x1 = Enable CRC over this field.
Register View
PKT_RX_FIELD_3_CRC_CONFIG
7 6 5 4 3 2 1 0
RESERVED[1:0] 0x0 CHECK_CRC32 0 CRC32_ENABLE
0x0 0x0 0 0 0
3.5.78. PKT_RX_FIELD_4_LENGTH_12_8
Summary: Byte 1 of field length for RX
Purpose:
This property specifices the length of this field in bytes.
A value of zero in this property means that the field is not used.
If the field is programmed as a variable length field, this property sets the maximum length of the field.
Property: 0x122D
Default: 0x00
Fields:
RX_FIELD_4_LENGTH_12_8[4:0] - default:0x00
0x0 = Bit 8 to 12 of the field length.
Register View
PKT_RX_FIELD_4_LENGTH_12_8
7 6 5 4 3 2 1 0
0x0 RX_FIELD_4_LENGTH_12_8[4:0]
0x0 0x00
84 Rev. 0.1
AN625
3.5.79. PKT_RX_FIELD_4_LENGTH_7_0
Summary: Byte 0 of field length for RX
Purpose:
See byte 1 for details.
Property: 0x122E
Default: 0x00
Fields:
RX_FIELD_4_LENGTH_7_0[7:0] - default:0x00 See byte 1 for details.
Range: 0-0xff
Register View
PKT_RX_FIELD_4_LENGTH_7_0
7 6 5 4 3 2 1 0
RX_FIELD_4_LENGTH_7_0[7:0]
0x00
3.5.80. PKT_RX_FIELD_4_CONFIG
Summary: Field 4 configuration bits for RX.
Purpose:
Field 4 configuration bits for RX.
Property: 0x122F
Default: 0x00
Fields:
4FSK- default:0
0x1 = Enable 4fsk on this field.
RESERVED - default:0 Reserved.
WHITEN - default:0
0x1 = Enable whitening on this field.
MANCH - default:0
0x1 = Enable manchester encoding on this field.
Register View
PKT_RX_FIELD_4_CONFIG
7 6 5 4 3 2 1 0
0x0 4FSK 0 RESERVED WHITEN MANCH
0x0 0 0 0 0 0
Rev. 0.1 85
AN625
3.5.81. PKT_RX_FIELD_4_CRC_CONFIG
Summary: Field 4 CRC configuration bits for RX.
Purpose:
Field 4 CRC configuration bits.
Property: 0x1230
Default: 0x00
Fields:
RESERVED[1:0] - default:0x0 Reserved.
CHECK_CRC32 - default:0
0x1 = Check CRC at the end of this field
CRC32_ENABLE - default:0
0x1 = Enable CRC over this field.
Register View
PKT_RX_FIELD_4_CRC_CONFIG
7 6 5 4 3 2 1 0
RESERVED[1:0] 0x0 CHECK_CRC32 0 CRC32_ENABLE
0x0 0x0 0 0 0
3.5.82. PKT_RX_FIELD_5_LENGTH_12_8
Summary: Byte 1 of field length for RX
Purpose:
This property specifices the length of this field in bytes.
A value of zero in this property means that the field is not used.
If the field is programmed as a variable length field, this property sets the maximum length of the field.
Property: 0x1231
Default: 0x00
Fields:
RX_FIELD_5_LENGTH_12_8[4:0] - default:0x00
0x0 = Bit 8 to 12 of the field length.
Register View
PKT_RX_FIELD_5_LENGTH_12_8
7 6 5 4 3 2 1 0
0x0 RX_FIELD_5_LENGTH_12_8[4:0]
0x0 0x00
86 Rev. 0.1
AN625
3.5.83. PKT_RX_FIELD_5_LENGTH_7_0
Summary: Byte 0 of field length for RX
Purpose:
See byte 1 for details.
Property: 0x1232
Default: 0x00
Fields:
RX_FIELD_5_LENGTH_7_0[7:0] - default:0x00 See byte 1 for details.
Range: 0–0xff
Register View
PKT_RX_FIELD_5_LENGTH_7_0
7 6 5 4 3 2 1 0
RX_FIELD_5_LENGTH_7_0[7:0]
0x00
3.5.84. PKT_RX_FIELD_5_CONFIG
Summary: Field 5 configuration bits for RX.
Purpose:
Field 5 configuration bits for RX.
Property: 0x1233
Default: 0x00
Fields:
4FSK - default:0
WHITEN - default:0
PKT_RX_FIELD_5_CONFIG
7 6 5 4 3 2 1 0
0x0 4FSK 0 RESERVED WHITEN MANCH
0x0 0 0 0 0 0
Rev. 0.1 87
AN625
3.5.85. PKT_RX_FIELD_5_CRC_CONFIG
Summary: Field 5 CRC configuration bits for RX.
Purpose:
Field 5 CRC configuration bits.
Property: 0x1234
Default: 0x00
Fields:
RESERVED[1:0] - default:0x0 Reserved.
CHECK_CRC32 - default:0
CRC32_ENABLE - default:0
PKT_RX_FIELD_5_CRC_CONFIG
7 6 5 4 3 2 1 0
RESERVED[1:0] 0x0 CHECK_CRC32 0 CRC32_ENABLE
0x0 0x0 0 0 0
88 Rev. 0.1
AN625
3.5.86. MODEM_MOD_TYPE
Summary: Modulation Type
Purpose:
Thisproperty selects between OOK, FSK, 4FSK and GFSK modulation, modulation source, and tx direct mode control.
Themodulator must be configured for one mode through the entire packet. If portions of the packet alternate between
FSK and 4FSK modes, the modem should be programmed to 4FSK mode.
Property: 0x2000
Default: 0x02
Fields:
TX_DIRECT_MODE_TYPE - default:0
0 = Direct mode operates in synchronous mode, applies to TX only.
1 = Direct mode operates in asynchronous mode, applies to TX only. GFSK is not supported.
TX_DIRECT_MODE_GPIO[1:0] - default:0x0
0 = TX direct mode uses gpio0 as data source, applies to TX only.
1 = TX direct mode uses gpio1 as data source, applies to TX only.
2 = TX direct mode uses gpio2 as data source, applies to TX only.
3 = TX direct mode uses gpio3 as data source, applies to TX only.
MOD_SOURCE[1:0] - default:0x0
0 = Modulation source is packet handler fifo
1 = Modulation source is direct mode pin
2 = Modulation source is pseudo-random generator
MOD_TYPE[2:0] - default:0x2
0 = CW
1 = OOK
2 = 2FSK
3 = 2GFSK
4 = 4FSK
5 = 4GFSK
Register View
MODEM_MOD_TYPE
7 6 5 4 3 2 1 0
TX_DIRECT_MODE_TYPE TX_DIRECT_MODE_GPIO[1:0] MOD_SOURCE[1:0] MOD_TYPE[2:0]
0 0x0 0x0 0x2
Rev. 0.1 89
AN625
3.5.87. MODEM_MAP_CONTROL
Summary: Controls bit mapping.
Purpose:
Modem Mapping Control.
Property: 0x2001
Default: 0x80
Fields:
enmanch - default:1
0 = Disable Manchester coding.
1 = Enable Manchester coding.
eninv_rxbit - default:0
0 = Do not invert RX data bits.
1 = Invert RX data bits.
eninv_txbit - default:0
0 = Do not invert TX data bits.
1 = Invert TX data bits.
eninv_fd - default:0 If set, frequency deviation's priority from negative to positive.
Register View
MODEM_MAP_CONTROL
7 6 5 4 3 2 1 0
ENMANCH ENINV_RXBIT ENINV_TXBIT ENINV_FD
1 0 0 0
90 Rev. 0.1
AN625
3.5.88. MODEM_DSM_CTRL
Summary: DSM control
Purpose:
Delta Sigma Modulator control
Property: 0x2002
Default: 0x07
Fields:
dsmclk_sel - default:0 DSM clock source selection.
0 = DSM clock comes from 30MHz PLL feedback clock.
1 = DSM clock comes from 30MHz crystal clock.
dsm_mode - default:0
0 = MASH 1-1-1 DSM will be selected.
1 = A single loop DSM will be selected.
dsmdt_en - default:0
0 = DSM dithering is disabled.
1 = DSM dithering is enabled.
dsmdttp - default:0 Dithering type
0 = +1/0 is added to DSM input LSB.
1 = +1/-1 is added to DSM input LSB.
dsm_rst - default:0
0 = DSM reset is not active.
1 = DSM will be in reset state until it is clear.
dsm_lsb - default:1 If set, DSM LSB input will be high all times.
MODEM_DSM_CTRL
7 6 5 4 3 2 1 0
DSMCLK_SEL DSM_MODE DSMDT_EN DSMDTTP DSM_RST DSM_LSB DSM_ORDER[1:0]
0 0 0 0 0 1 0x3
Rev. 0.1 91
AN625
3.5.89. MODEM_DATA_RATE_2
Summary: Byte 2 of TX data rate in bps (bits per second).
Purpose:
Data rate, unsigned 24-bit, 100 kbps by default.
Property: 0x2003
Default: 0x0F
Fields:
dr_23_16[7:0] - default:0x0F
Range: 0–255
Register View
MODEM_DATA_RATE_2
7 6 5 4 3 2 1 0
DR_23_16[7:0]
0x0F
3.5.90. MODEM_DATA_RATE_1
Summary: Byte 1 of TX data rate in bps (bits per second).
Purpose:
Data rate, unsigned 24-bit, 100 kbps by default.
Property: 0x2004
Default: 0x42
Fields:
dr_15_8[7:0] - default:0x42
Range: 0–255
Register View
MODEM_DATA_RATE_1
7 6 5 4 3 2 1 0
DR_15_8[7:0]
0X42
92 Rev. 0.1
AN625
3.5.91. MODEM_DATA_RATE_0
Summary: Byte 0 of TX data rate in bps (bits per second).
Purpose:
Data rate, unsigned 24-bit, 100 kbps by default.
Property: 0x2005
Default: 0x40
Fields:
dr_7_0[7:0]- default:0x40
Range: 0–255
Register View
MODEM_DATA_RATE_0
7 6 5 4 3 2 1 0
dr_7_0[7:0]
0x40
3.5.92. MODEM_FREQ_DEV_2
Summary: Byte 2 of TX frequency deviation (a 17-bit unsigned number). This only programs the MSB of TX
frequency deviation.
Purpose:
Frequency deviation, unsigned 17-bit.
Property: 0x200A
Default: 0x00
Fields:
freqdev_16 - default:0
Register View
MODEM_FREQ_DEV_2
7 6 5 4 3 2 1 0
0x00 FREQDEV_16
0x00 0
Rev. 0.1 93
AN625
3.5.93. MODEM_FREQ_DEV_1
Summary: Byte 1 of frequency deviation.
Purpose:
Frequency deviation, unsigned 17-bit.
Property: 0x200B
Default: 0x06
Fields:
freqdev_15_8[7:0] - default:0x06
Range: 0–255
Register View
MODEM_FREQ_DEV_1
7 6 5 4 3 2 1 0
freqdev_15_8[7:0]
0x06
3.5.94. MODEM_FREQ_DEV_0
Summary: Byte 0 of frequency deviation.
Purpose:
Frequency deviation, unsigned 17-bit.
Property: 0x200C
Default: 0xD3
Fields:
freqdev_7_0[7:0]- default:0xD3
Range: 0–255
Register View
MODEM_FREQ_DEV_0
7 6 5 4 3 2 1 0
freqdev_7_0[7:0]
0xD3
94 Rev. 0.1
AN625
3.5.95. MODEM_RESERVED_20_0D
Summary:
Purpose:
Property: 0x200D
Default: 0x00
Fields:
RESERVED_20_0D[7:0] - default:0x00
Register View
MODEM_RESERVED_20_0D
7 6 5 4 3 2 1 0
RESERVED_20_0D[7:0]
0x00
3.5.96. MODEM_RESERVED_20_0E
Summary:
Purpose:
Property: 0x200E
Default: 0x00
Fields:
RESERVED_20_0E[7:0] - default:0x00
Register View
MODEM_RESERVED_20_0E
7 6 5 4 3 2 1 0
RESERVED_20_0E[7:0]
0x00
Rev. 0.1 95
AN625
3.5.97. MODEM_ANT_DIV_CONTROL
Summary: Specifies antenna diversity controls. Antenna diversity mode is valid for standard packet only.
Purpose:
Specifies pm detection threshold and GPIO config in antenna diversity mode.
Property: 0x2049
Default: 0x80
Fields:
ant2pm_thd[3:0] - default:0x8 The second phase preamble detection threshold in ANT-DIV mode. Default is set to 8 bits
threshold.
matap - default:0 Number of taps for moving average filter during Antenna Diversity RSSI evaluation. Allows for reduced
noise variation on measured RSSI value but with slower update rate.
0 = Filter tap length is 8*Tb prior to first PREAMBLE_VALID, and 4*Tb thereafter.
1 = Filter tap length is 8*Tb.
antdiv[2:0] - default:0x0 The GPIO must be configured for antenna diversity for the algorithm to work properly.
0 = RX/TX state: GPIO-Ant1=1, GPIO Ant2=0: Non-RX/TX State GPIO Ant1=0, GPIO Ant2 = 0.
1 = RX/TX state: GPIO-Ant1=0, GPIO Ant2=1: Non-RX/TX State GPIO Ant1=0, GPIO Ant2 = 0.
2 = RX/TX state: GPIO-Ant1=1, GPIO Ant2=0: Non-RX/TX State GPIO Ant1=1, GPIO Ant2 = 1.
3 = RX/TX state: GPIO-Ant1=0, GPIO Ant2=1: Non-RX/TX State GPIO Ant1=1, GPIO Ant2 = 1.
4 = RX/TX state: GPIO=Antenna diversity algorithm: Non-RX/TX State GPIO Ant1=0, GPIO Ant2 = 0.
5 = RX/TX state: GPIO=Antenna diversity algorithm: Non-RX/TX State GPIO Ant1=1, GPIO Ant2 = 1.
6 = RX/TX state: GPIO=Antenna diversity algorithm in beacon mode: Non-RX/TX State GPIO Ant1=0, GPIO
Ant2 = 0.
7 = RX/TX state: GPIO=Antenna diversity algorithm in beacon mode: Non-RX/TX State GPIO Ant1=1, GPIO
Ant2 = 1.
Register View
MODEM_ANT_DIV_CONTROL
7 6 5 4 3 2 1 0
ANT2PM_THD[3:0] MATAP ANTDIV[2:0]
0X8 0 0X0
96 Rev. 0.1
AN625
3.5.98. MODEM_RSSI_THRESH
Summary: RSSI threshold control
Purpose:
Selectsthreshold for clear channel assessment. If RSSI value is above this threshold, the CCA GPIO will be high and the
RSSI interrupt will be generated.
Property: 0x204A
Default: 0x08
Fields:
RSSI_THRESH[7:0] - default:0x08 Selects threshold for clear channel assessment. If RSSI value is above this threshold,
the CCA GPIO will be high and the RSSI interrupt will be generated.
Range: 0–255
Register View
MODEM_RSSI_THRESH
7 6 5 4 3 2 1 0
RSSI_THRESH[7:0]
0x08
3.5.99. MODEM_RSSI_JUMP_THRESH
Summary: RSSI jumping detection threshold.
Purpose:
RSSI jumping detection threshold, step in 1dB.
Property: 0x204B
Default: 0x0C
Fields:
rssijmpthd[6:0] - default:0x0C RSSI jumping detection threshold.
Register View
MODEM_RSSI_JUMP_THRESH
7 6 5 4 3 2 1 0
0 rssijmpthd[6:0]
0 0x0C
Rev. 0.1 97
AN625
3.5.100. MODEM_RSSI_CONTROL
Summary: RSSI control
Purpose:
Selects where in the packet to latch the RSSI value in the RSSI Latch fast response register. The latched
value can also be read using GET_MODEM_STATUS command.
Property: 0x204C
Default: 0x01
Fields:
AVERAGE - default:0
MODEM_RSSI_CONTROL
7 6 5 4 3 2 1 0
0x0 AVERAGE 0x0 LATCH[1:0]
0x0 0 0x0 0x1
3.5.101. MODEM_RSSI_CONTROL2
Summary: RSSI control
Purpose:
Enable RSSI jumping detection. Used to detect an RSSI jump as configured by MODEM_RSSI_CONTROL while
receiving a packet. Can be useful to detect interferring or secondary incoming packet.
Property: 0x204D
Default: 0x00
Fields:
rssijmp_dwn - default:0 If set, enable RSSI jumping-down detection.
rssijmp_up - default:0 If set, enable RSSI jumping-up detection.
enrssijmp - default:0
Enable RSSI jumping detection.
Once RSSI difference between 2Tb or 4Tb is above the RSSI jumping threshold, and interrupt will be generated.
jmpdlylen - default:0
0 = RSSI jumping detection is running with 2Tb
1 = RSSI jumping detection is running with 4Tb
enjmprx - default:0 If set, RSSI jumping detection will force RX machine to reset.
Register View
MODEM_RSSI_CONTROL2
7 6 5 4 3 2 1 0
0X0 RSSIJMP_DWN RSSIJMP_UP ENRSSIJMP JMPDLYLEN ENJMPRX
0x0 0 0 0 0 0
98 Rev. 0.1
AN625
3.5.102. MODEM_RSSI_COMP
Summary: RSSI reading offset.
Purpose:
Offsets RSSI curve in 1dB steps. 32 is no offset, lower will adjust RSSI down, and higher will adjust RSSI up.
Property: 0x204E
Default: 0x32
Fields:
rssi_comp[6:0] - default:0x32 RSSI reading offset.
Range: 0–127
Register View
MODEM_RSSI_COMP
7 6 5 4 3 2 1 0
0 RSSI_COMP[6:0]
0 0x32
3.5.103. MODEM_RESERVED_20_50
Summary:
Purpose:
Property: 0x2050
Default: 0x00
Fields:
RESERVED_20_50[7:0] - default:0x00
Register View
MODEM_RESERVED_20_50
7 6 5 4 3 2 1 0
RESERVED_20_50[7:0]
0x00
Rev. 0.1 99
AN625
3.5.104. PA_MODE
Summary: PA operating mode and groups.
Purpose:
Specify PA mode and HPA/MPA groups
Property: 0x2200
Default: 0x10
Fields:
PA_GROUP[3:0] - default:0x4 ODEV group and unit configuration.
0 = No groups on.
1 = Reserved
2 = Set for Si4464/63/62
3 = Reserved
4 = Reserved
5 = Reserved
6 = Set for Si4460
7 = Reserved
8 = Set for Si4461.
PA_MODE
7 6 5 4 3 2 1 0
0x0 PA_GROUP[3:0] PA_MODE[1:0]
0x0 0x4 0x0
3.5.105. PA_PWR_LVL
Summary: PA Power Level Configuration
Purpose:
Adjusts the TX power level in fine resolution.
Property: 0x2201
Default: 0x7F
Fields:
DDAC[6:0] - default:0x7F
Range: 0-127
Register View
PA_PWR_LVL
7 6 5 4 3 2 1 0
0 DDAC[6:0]
0 0x7F
PA_BIAS_CLKDUTY
7 6 5 4 3 2 1 0
CLK_DUTY[1:0] OB[5:0]
0x0 0x00
3.5.107. PA_TC
Summary: PA Ramping Time Control Register
Purpose:
Ramps the PA power in a controlled fashion to minimize spectral emmissions. 0 represents 2us, 31 represents 30us
which is the longest ramping time.
Property: 0x2203
Default: 0x01
Fields:
TC[4:0]- default:0x01
Range: 0-31
Register View
PA_TC
7 6 5 4 3 2 1 0
0x0 TC[4:0]
0x0 0x01
Property: 0x3000
Default: 0x00
Fields:
VALUE_1[7:0] - default:0x00
Range: 0–0xFF
Register View
MATCH_VALUE_1
7 6 5 4 3 2 1 0
VALUE_1[7:0]
0x00
3.5.109. MATCH_MASK_1
Summary: Match 1 mask.
Purpose:
Property: 0x3001
Default: 0x00
Fields:
MASK_1[7:0] - default:0x00
Range: 0–0xFF
Register View
MATCH_MASK_1
7 6 5 4 3 2 1 0
MASK_1[7:0]
0x00
MATCH_CTRL_1
7 6 5 4 3 2 1 0
POLARITY MATCH_EN 0 OFFSET[4:0]
0 0 0 0x00
3.5.111. MATCH_VALUE_2
Summary: Match 2 value.
Purpose:
Property: 0x3003
Default: 0x00
Fields:
VALUE_2[7:0] - default:0x00
Range: 0–0xFF
Register View
MATCH_VALUE_2
7 6 5 4 3 2 1 0
VALUE_2[7:0]
0x00
Property: 0x3004
Default: 0x00
Fields:
MASK_2[7:0] - default:0x00
Range: 0–0xFF
Register View
MATCH_MASK_2
7 6 5 4 3 2 1 0
MASK_2[7:0]
0x00
3.5.113. MATCH_CTRL_2
Summary: Match 2 configuration.
Purpose:
Enable pattern 2 matches or not.
Property: 0x3005
Default: 0x00
Fields:
POLARITY - default:0
0x00 = True if packet matches.
0x01 = True if packet doesn't match.
LOGIC - default:0
0x00 = AND with previous MATCH field.
0x01 = OR with previous MATCH field.
OFFSET[4:0] - default:0x00 Match 2 offset in byte after sync word
Range: 0–0x1F
Register View
MATCH_CTRL_2
7 6 5 4 3 2 1 0
POLARITY LOGIC 0 OFFSET[4:0]
0 0 0 0x00
Property: 0x3006
Default: 0x00
Fields:
VALUE_3[7:0] - default:0x00
Range: 0–0xFF
Register View
MATCH_VALUE_3
7 6 5 4 3 2 1 0
VALUE_3[7:0]
0x00
3.5.115. MATCH_MASK_3
Summary: Match 3 mask.
Purpose:
Property: 0x3007
Default: 0x00
Fields:
MASK_3[7:0] - default:0x00
Range: 0–0xFF
Register View
MATCH_MASK_3
7 6 5 4 3 2 1 0
MASK_3[7:0]
0x00
MATCH_CTRL_3
7 6 5 4 3 2 1 0
POLARITY LOGIC 0 OFFSET[4:0]
0 0 0 0x00
3.5.117. MATCH_VALUE_4
Summary: Match 4 value.
Purpose:
Property: 0x3009
Default: 0x00
Fields:
VALUE_4[7:0] - default:0x00
Range: 0–0xFF
Register View
MATCH_VALUE_4
7 6 5 4 3 2 1 0
VALUE_4[7:0]
0x00
Property: 0x300A
Default: 0x00
Fields:
MASK_4[7:0] - default:0x00
Range: 0–0xFF
Register View
MATCH_MASK_4
7 6 5 4 3 2 1 0
MASK_4[7:0]
0x00
3.5.119. MATCH_CTRL_4
Summary: Match 4 configuration.
Purpose:
Enable pattern 4 matches or not.
Property: 0x300B
Default: 0x00
Fields:
POLARITY - default:0
0x00 = True if packet matches.
0x01 = True if packet doesn't match.
LOGIC - default:0
0x00 = AND with previous MATCH field.
0x01 = OR with previous MATCH field.
OFFSET[4:0] - default:0x00 Match 4 offset in byte after sync word
Range: 0–0x1F
Register View
MATCH_CTRL_4
7 6 5 4 3 2 1 0
POLARITY LOGIC 0 OFFSET[4:0]
0 0 0 0x00
Property: 0x4006
Default: 0x20
Fields:
w_size[7:0] - default:0x20
Range: 0–255
Register View
FREQ_CONTROL_W_SIZE
7 6 5 4 3 2 1 0
W_SIZE[7:0]
0x20
3.5.121. FREQ_CONTROL_VCOCNT_RX_ADJ
Summary: VCO target count adjustment for RX
Purpose:
VCO target count adjustment for RX, signed
Property: 0x4007
Default: 0xFF
Fields:
vcocnt_rx_adj[7:0]- default:0xFF
Range: –128 to 127
Register View
FREQ_CONTROL_VCOCNT_RX_ADJ
7 6 5 4 3 2 1 0
VCOCNT_RX_ADJ[7:0]
0XFF
Register View
RX_HOP_CONTROL
7 6 5 4 3 2 1 0
0 HOP_EN[2:0] RSSI_TIMEOUT[3:0]
0 0x0 0x4
3.5.123. RX_HOP_TABLE_SIZE
Summary: Number of entries in the RX hop table.
Purpose:
Number of entries in the RX hop table.
Property: 0x5001
Default: 0x01
Fields:
RX_HOP_TABLE_SIZE[6:0] - default:0x01
Range: 1–64
Register View
RX_HOP_TABLE_SIZE
7 6 5 4 3 2 1 0
0 RX_HOP_TABLE_SIZE[6:0]
0 0x01
RX_HOP_TABLE_ENTRY_0
7 6 5 4 3 2 1 0
CHANNEL_NUM[7:0]
0x00
3.5.125. RX_HOP_TABLE_ENTRY_xx
Summary: No.x entry in RX hopping table.
Purpose:
No.2 entry in RX hopping table. Skip this entry if 0xFF.
Property: 0x50xx
Default: 1
Fields:
CHANNEL_NUM[7:0] - default:0x01
Range: 0–255
255 = Hopping entry is invalid.
Register View
RX_HOP_TABLE_ENTRY_xx
7 6 5 4 3 2 1 0
CHANNEL_NUM[7:0]
0x01
The information in this document is believed to be accurate in all respects at the time of publication but is subject to change without notice.
Silicon Laboratories assumes no responsibility for errors and omissions, and disclaims responsibility for any consequences resulting from
the use of information included herein. Additionally, Silicon Laboratories assumes no responsibility for the functioning of undescribed features
or parameters. Silicon Laboratories reserves the right to make changes without further notice. Silicon Laboratories makes no warranty, rep-
resentation or guarantee regarding the suitability of its products for any particular purpose, nor does Silicon Laboratories assume any liability
arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation conse-
quential or incidental damages. Silicon Laboratories products are not designed, intended, or authorized for use in applications intended to
support or sustain life, or for any other application in which the failure of the Silicon Laboratories product could create a situation where per-
sonal injury or death may occur. Should Buyer purchase or use Silicon Laboratories products for any such unintended or unauthorized ap-
plication, Buyer shall indemnify and hold Silicon Laboratories harmless against all claims and damages.
Silicon Laboratories and Silicon Labs are trademarks of Silicon Laboratories Inc.
Other products or brandnames mentioned herein are trademarks or registered trademarks of their respective holders.