123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592 |
- //===================================================================================//
- // * @file RF.H
- // * @author droplin
- // * @version V1.1
- // * @date 2020/12/16
- // * @brief Main program body
- // * @modify user: droplin
- // * @modify date: 2019/12/19
- //===================================================================================//
- #ifndef _RF_SETTING_H_
- #define _RF_SETTING_H_
- #include "stdbool.h"
- #include "stdint.h"
- #pragma pack(1)
- typedef struct
- {
- int8_t power;
- uint8_t pa1_lvl : 6;
- uint8_t pa2_lvl : 6;
- }rf_powerRaw_ts;
- //00 CONFIG - 0C - 工作寄存器
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t PRIM_RX : 1;// 0 0 R/W RX/TX 控制位
- // 1:PRX
- // 0:PTX
- uint8_t PWR_UP : 1;// 1 0 R/W 芯片使能位
- // 1:POWER_UP
- // 0:POWER_DOWN
- uint8_t CRC_SEL : 1;// 2 1 R/W CRC 选择
- // 1:CRC16
- // 0:CRC8
- uint8_t EN_CRC : 1;// 3 1 R/W CRC 使能位
- // 1:CRC 使能
- // 0:CRC 不使能,并且不判 CRC 校验
- uint8_t MASK_MAX_RT : 1;// 4 0 R/W 发送失败并达到最大传输次数的中断上
- // 报使能位
- // 1:中断不反映到 IRQ 引脚
- // 0:MAX_RT 中断反映到 IRQ 引脚
- uint8_t MASK_TX_DS : 1;// 5 0 R/W 发送数据成功的中断上报使能位
- // 1:中断不反映到 IRQ 引脚
- // 0:TX_DS 中断反映到 IRQ 引脚
- uint8_t MASK_RX_DR : 1;// 6 0 R/W 接收数据成功的中断上报使能位
- // 1:中断不反映到 IRQ 引脚
- // 0:RX_DR 中断反映到 IRQ 引脚
- uint8_t FAST_MODE : 1;// 7 0 R/W 快速发射使能
- // 1:快速发射模式使能
- // 0:快速发射模式不使能
- }bits;
- }config_tu;
- //01 EN_AA Enhanced Burst- 01 - 接收通道的自动应答使能
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t ENAA_P0 : 1;// 0 1 R/W 使能 pipe0 自动应答
- uint8_t ENAA_P1 : 1;// 1 0 R/W 使能 pipe1 自动应答
- uint8_t ENAA_P2 : 1;// 2 0 R/W 使能 pipe2 自动应答
- uint8_t ENAA_P3 : 1;// 3 0 R/W 使能 pipe3 自动应答
- uint8_t ENAA_P4 : 1;// 4 0 R/W 使能 pipe4 自动应答
- uint8_t ENAA_P5 : 1;// 5 0 R/W 使能 pipe5 自动应答
- uint8_t Reserved : 1;// 7:6 00 R/W Only 00 allowed
- }bits;
- }en_aa_enhanced_burst_tu;
- //02 EN_RXADDR - 01 - 接收通道使能
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t ERX_P0 : 1;// 0 1 R/W 使能 data pipe 0
- uint8_t ERX_P1 : 1;// 1 0 R/W 使能 data pipe 1
- uint8_t ERX_P2 : 1;// 2 0 R/W 使能 data pipe 2
- uint8_t ERX_P3 : 1;// 3 0 R/W 使能 data pipe 3
- uint8_t ERX_P4 : 1;// 4 0 R/W 使能 data pipe 4
- uint8_t ERX_P5 : 1;// 5 0 R/W 使能 data pipe 5
- uint8_t Reserved : 1;// 7:6 00 R/W Only 00 allowed
- }bits;
- }en_rxAddr_tu;
- //03 SETUP_AW - 03 - 地址宽度设置
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t AW : 2;// 1:0 11 R/W RX/TX 地址宽度
- // 00:无效
- // 01:3 字节
- // 10:4 字节
- // 11:5 字节
- // 如果地址宽度设置低于 5 字节,地址使
- // 用低字节
- uint8_t Reserved : 6;// 7:2 000000 R/W Only 000000 allowed
- }bits;
- }setUp_aw_tu;
- //04 SETUP_RETR - 03 - 自动传输设置
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t ARC : 4;// 3:0 0011 R/W 自动传输次数设置
- // 0000:不带自动重传不带 ACK 的通信模
- // 式
- // 0001~1111:带自动重传的通信模式
- // 0001:带 ACK 的 1 次传输
- // 0002:带 ACK 的 2 次传输
- // ……
- // 1111:带 ACK 的 15 次传输
- uint8_t ARD : 4;// 7:4 0000 R/W 自动传输延时
- // 0000:250us
- // 0001:570us
- // 0010:890us
- // ……
- // 1111:9530us
- // 时间计算方法:
- // {ARD,7’b1100100}x2.5us
- }bits;
- }setUp_retr_tu;
- //05 RF_CH - 20 - 通信频道设置
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t FC8_1 : 8;// 7:0 00100000 R/W 设置使用频道小数位, FC 的第 0bit 在
- // RF_ CAL[3]
- }bits;
- }rf_ch_tu;
- //06 RF_SETUP - 52 - 通信参数配置
- typedef enum
- {
- RF_DR_40KBPS,
- RF_DR_80KBPS,
- RF_DR_200KBPS,
- RF_DR_400KBPS,
- }rf_dr_te;
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t FB5_0 : 6;// 5:0 010010 R/W 设置使用频道整数位
- uint8_t RF_DR : 2;// 7:6 01 R/W 数据速率
- // 11:400Kbps
- // 10:200Kbps
- // 01:80kbps 默认
- // 00:40kbps
- }bits;
- }rf_setup_tu;
- // 07 STATUS - - - 状态寄存器
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t TX_FULL : 1;// 0 0 R TX FIFO 满标志
- // 1:TX FIFO 满
- // 0:TX FIFO 未满可用
- uint8_t RX_P_NO : 3;// 3:1 111 R 可从 RX_FIFO 读取的 pipe 号
- // 000-101:pipe 号
- // 110:Not Used
- // 111:RX_FIFO 空
- uint8_t MAX_RT : 1;// 4 0 R/W 发送达到最大传输次数未成功中断位。
- // 写 1 清中断
- // 产生该中断后,继续进行通信必须先清
- // 该中断
- uint8_t TX_DS : 1;// 5 0 R/W TX FIFO 发送数据成功中断位,
- // 在不带自动重传模式下,数据发送完成
- // 后产生中断;
- // 在带自动重传模式下,仅在发送端收到
- // ACK 信号后才会将该位置高。
- // 写 1 清中断
- uint8_t RX_DR : 1;// 6 0 R/W RX FIFO 接收数据中断位,
- // 在新数据被接收并到达 RX FIFO 时产生
- // 中断。
- // 写 1 清中断
- uint8_t Reserved : 1;// 7 0 R/W Only 0 allowed
- }bits;
- }status_tu;
- // 08 OBSERVE_TX - - - 传输状态寄存器
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t ARC_CNT : 1;// 3:0 0 R 自动重传的传输次数计数器
- // 自动重传增加一次,ARC_CNT 加一;
- // 在 ARC_CNT 达到 ARC 限定值时,视为
- // 丢包,并将 PLOS_CNT 加一;
- // 当新数据写入 TX FIFO 时该计数器复
- // 位。
- uint8_t PLOS_CNT : 1;// 7:4 0 R 丢包计数器
- // 该计数器达到最大值 15 时将停止计数,
- // 该计数器在写 RF_CH 时被复位,
- // 未复位该值时可以继续进行通信
- }bits;
- }observe_tx_tu;
- // 09 DATAOUT - - - 数据读取寄存器(测试用)
- // 根据 DATAOUT_SEL 位选择输出,当
- // DATAOUT_SEL 为 0 时,读取第一种测
- // 试值;当 DATA OUT_SEL 为 1 时,读取
- // 第二种测试值;DATAOUT_SEL 默认为
- // 0。
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t ANADATA3 : 6;// 5:0 0 R analog_data[13:8]
- // packet_rssi[5:0] 或
- // real_time_rssi[5:0],默认输出 packet_rssi
- uint8_t ANADATA2 : 1;// 6 0 R analog_data6 或 analog_data 2,默认输出analog_data6s
- uint8_t ANADATA1 : 1;// 7 0 R analog_data7 或 analog_data 3,默认输出analog_data7
- }bits;
- }dataOut_tu;
- // 0A RX_ADDR_P0 39:0 0xE7E7E7E7E7
- // R/W data pipe 0 的接收地址,最长 5 字节。(由低字开始写。地址长度由 SETUP_AW 定义)
- typedef struct
- {
- uint8_t value[5];
- }rx_addr_p0_ts;
- // 0B RX_ADDR_P1 39:0 0xC2C2C2C2C2
- // R/W data pipe 1 的接收地址,最长 5 字节。(由低字开始写。地址长度由 SETUP_AW 定义)
- typedef struct
- {
- uint8_t value[5];
- }rx_addr_p1_ts;
- // 0C RX_ADDR_P2 7:0 0xC3 R/W data pipe 2 的接收地址,仅最低 8 位,高
- // 位等于 RX_ADDR_P1[39:8]
- typedef struct
- {
- uint8_t addr;
- }rx_addr_p2_ts;
- // 0D RX_ADDR_P3 7:0 0xC4 R/W data pipe 3 的接收地址,仅最低 8 位,高
- // 位等于 RX_ADDR_P1[39:8]
- typedef struct
- {
- uint8_t addr;
- }rx_addr_p3_ts;
- // 0E RX_ADDR_P4 7:0 0xC5 R/W data pipe 4 的接收地址,仅最低 8 位,高
- // 位等于 RX_ADDR_P1[39:8]
- typedef struct
- {
- uint8_t addr;
- }rx_addr_p4_ts;
- // 0F RX_ADDR_P5 7:0 0xC6 R/W data pipe 5 的接收地址,仅最低 8 位,高
- // 位等于 RX_ADDR_P1[39:8
- typedef struct
- {
- uint8_t addr;
- }rx_addr_p5_ts;
- // 10 TX_ADDR 39:0 0xE7E7E7E7E7 R/W 发送端地址(由低字节开始写)
- // 只能在配置为 PTX 模式的芯片中使用,
- // 需要设置 RX_ADDR_P0 等于该地址以
- // 便接收 ACK 自动应答。
- typedef struct
- {
- uint8_t value[5];
- }tx_addr_ts;
- // 11 RX_PW_P0 - 00 - data pipe 0 中的 RX payload 的数据长度
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t RX_PW_Px_LEN : 7;// 6:0 0000000 R/W data pipe 0 中的 RX payload 的数据长度
- // (1 到 32/64 字节)
- // 0:该 Pipe 未用
- // 1 = 1 byte
- // …
- // 32/64 = 32/64bytes
- uint8_t Reserved : 1;// 7 0 R/W Only 0 allowed
- }bits;
- }rx_pw_px_tu;
- // 11 RX_PW_P0 - 00 - data pipe 0 中的 RX payload 的数据长度
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t RX_PW_P0_LEN : 7;// 6:0 0000000 R/W data pipe 0 中的 RX payload 的数据长度
- // (1 到 32/64 字节)
- // 0:该 Pipe 未用
- // 1 = 1 byte
- // …
- // 32/64 = 32/64bytes
- uint8_t Reserved : 1;// 7 0 R/W Only 0 allowed
- }bits;
- }rx_pw_p0_tu;
- // 12 RX_PW_P1 - 00 - data pipe 1 中的 RX payload 的数据长度
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t RX_PW_P1_LEN : 7;// 6:0 0000000 R/W data pipe 0 中的 RX payload 的数据长度
- // (1 到 32/64 字节)
- // 0:该 Pipe 未用
- // 1 = 1 byte
- // …
- // 32/64 = 32/64bytes
- uint8_t Reserved : 1;// 7 0 R/W Only 0 allowed
- }bits;
- }rx_pw_p1_tu;
- // 13 RX_PW_P2 - 00 - data pipe 2 中的 RX payload 的数据长度
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t RX_PW_P2_LEN : 7;// 6:0 0000000 R/W data pipe 0 中的 RX payload 的数据长度
- // (1 到 32/64 字节)
- // 0:该 Pipe 未用
- // 1 = 1 byte
- // …
- // 32/64 = 32/64bytes
- uint8_t Reserved : 1;// 7 0 R/W Only 0 allowed
- }bits;
- }rx_pw_p2_tu;
- // 14 RX_PW_P3 - 00 - data pipe 3 中的 RX payload 的数据长度
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t RX_PW_P3_LEN : 7;// 6:0 0000000 R/W data pipe 0 中的 RX payload 的数据长度
- // (1 到 32/64 字节)
- // 0:该 Pipe 未用
- // 1 = 1 byte
- // …
- // 32/64 = 32/64bytes
- uint8_t Reserved : 1;// 7 0 R/W Only 0 allowed
- }bits;
- }rx_pw_p3_tu;
- // 15 RX_PW_P4 - 00 - data pipe 4 中的 RX payload 的数据长度
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t RX_PW_P4_LEN : 7;// 6:0 0000000 R/W data pipe 0 中的 RX payload 的数据长度
- // (1 到 32/64 字节)
- // 0:该 Pipe 未用
- // 1 = 1 byte
- // …
- // 32/64 = 32/64bytes
- uint8_t Reserved : 1;// 7 0 R/W Only 0 allowed
- }bits;
- }rx_pw_p4_tu;
- // 16 RX_PW_P5 - 00 - data pipe 5 中的 RX payload 的数据长度
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t RX_PW_P5_LEN : 7;// 6:0 0000000 R/W data pipe 0 中的 RX payload 的数据长度
- // (1 到 32/64 字节)
- // 0:该 Pipe 未用
- // 1 = 1 byte
- // …
- // 32/64 = 32/64bytes
- uint8_t Reserved : 1;// 7 0 R/W Only 0 allowed
- }bits;
- }rx_pw_p5_tu;
- // 17 FIFO_STATUS - - - FIFO 状 态 寄 存 器 以 及 analog_data[5:4]/[1:0]
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t RX_EMPTY : 1;// 0 1 R RX FIFO 空标志位
- // 1:RX FIFO 空
- // 0:RX FIFO 有数据
- uint8_t RX_FULL : 1;// 1 0 R RX FIFO 满标志位
- // 1:RX FIFO 满
- // 0:RX FIFO 可用
- uint8_t ANADATA : 1;// 2 0 R analog_data[5]或analog_data[0],
- // 由 DATAOUT_SEL 选择,
- // 默认输出 analog_data5
- uint8_t ANADATA2 : 1;// 3 0 R analog_data[4]或analog_data[1],
- // 由 DATAOUT_SEL 选择,
- // 默认输出 analog_data4
- uint8_t TX_EMPTY : 1;// : 1;// 4 1 R TX FIFO 空标志位
- // 1:TX FIFO 空
- // 0:TX FIFO 有数据
- uint8_t TX_FULL : 1;// 5 0 R TX FIFO 满标志位
- // 1:TX FIFO 满
- // 0:TX FIFO 可用
- uint8_t TX_REUSE : 1;// 6 0 R 调用上一帧数据发送的指示位
- // 在使用 REUSE_TX_PL 命令后,该位为
- // 1,重传上一次发送中最后一帧数据。该
- // 位可以由命令 W_TX_PAYLOAD 、W_TX_PAYLOAD_NOACK : 1;// 、 DEACTIVATE、FLUSH TX 进行复位操作。
- uint8_t reserved : 1;// 7 0 R N/A
- }bits;
- }fifo_status_tu;
- // 18 RF_CAL3 39:0 9602A81000 - 补充射频寄存器
- // (一般使用默认值)
- typedef struct
- {
- uint8_t value[5];
- }rf_cal3_ts;
- // 19 DEMOD_CAL 39:0 8B7449DC01
- // - 调制解调参数寄存器
- // (可由方案需要来配置)
- typedef struct
- {
- uint8_t value[5];
- }demo_cal1_ts;
- // 1A RF_CAL2 39:0 F608DDFECB
- // - 补充射频寄存器
- // (一般使用默认值)
- typedef struct
- {
- uint8_t value[5];
- }rf_cal2_ts;
- // 1B DEM_CAL2 31:0 0400E70B - 补充解调参数寄存器
- // (一般使用默认值)
- typedef struct
- {
- uint8_t value[5];
- }demo_cal2_ts;
- // 1C DYNPD - 00 - 动态 PAYLOAD 长度使能
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t DPL_P0 : 1;// 0 0 R/W 使能 PIPE 0 动态 PAYLOAD 长度(需要 EN_DPL 和 ENAA_P0)
- uint8_t DPL_P1 : 1;// 1 0 R/W 使能 PIPE 1 动态 PAYLOAD 长度(需要 EN_DPL 和 ENAA_P1)
- uint8_t DPL_P2 : 1;// 2 0 R/W 使能 PIPE 2 动态 PAYLOAD 长度(需要 EN_DPL 和 ENAA_P2)
- uint8_t DPL_P3 : 1;// 3 0 R/W 使能 PIPE 3 动态 PAYLOAD 长度(需要 EN_DPL 和 ENAA_P3)
- uint8_t DPL_P4 : 1;// 4 0 R/W 使能 PIPE 4 动态 PAYLOAD 长度(需要 EN_DPL 和 ENAA_P4)
- uint8_t DPL_P5 : 1;// 5 0 R/W 使能 PIPE 5 动态 PAYLOAD 长度(需要 EN_DPL 和 ENAA_P5)
- uint8_t Reserved : 2;// 7:6 00 R/W Only 00 allowed
- }bits;
- }dyn_payload_tu;
- // 1D FEATURE 7:0 00 R/W 特征寄存器
- typedef union
- {
- uint8_t value;
- struct
- {
- uint8_t EN_NO_ACK : 1;// 0 0 R/W 使能W_TX_PAYLOAD_NOACK 命令
- uint8_t EN_ACK_PAY : 1;// 1 0 R/W 使能 ACK 带 PAYLOAD
- uint8_t EN_DPL : 1;// 2 0 R/W 使能动态 PAYLOAD 长度
- uint8_t DATA_LEN_SEL : 2;// 4:3 00 R/W 数据长度选择
- // 11:64byte(512bit)模式
- // 00:32byte(256bit)模式
- uint8_t CE_SEL : 1;// 5 0 R/W 使能 CE 用命令方式开启
- // 0:CE 由 CE PIN 控制
- // 1:CE 由命令方式控制
- uint8_t MUX_PA_IRQ : 1;// 6 0 R/W 选择 IRQ 信号输出还是 EN_PA 信号输出到 PIN
- // 0:IRQ 信号输出到 PIN
- // 1:EN_PA 信号输出到 PIN
- uint8_t Reserved : 1;// 7 0 R/W Only 00 allowed
- }bits;
- }feature_tu;
- // 1E RF_CAL 39:0 48DFFDFB10 R/W 射频参数寄存器
- // (可由方案需要来配置)
- typedef struct
- {
- uint8_t value[5];
- // struct
- // {
- // uint8_t HL_SEL : 1;// 0 0 R/W PLL 除 2 或除 3 设置
- // // 0:除 2
- // // 1:除 3
- // uint8_t TST_TEMP : 1;// 1 0 R/W 温度敏感模块使能
- // // 0:使能
- // // 1:不使能
- // uint8_t LS_SEL : 1;// 2 0 R/W 锁相环除 4 或除 6 输出设置
- // // 1:除 6
- // // 0:除 4
- // uint8_t FC_0 : 1;// 3 0 R/W FC 最低位
- // uint8_t HS_SEL : 1;// 4 1 R/W PLL 除 2 输出设置
- // // HS_SEL LS_SEL=10:高频输出
- // // HS_SEL LS_SEL=01:低频输出
- // uint8_t HI_LO_SET : 1;// 5 0 R/W 接收高低本振设置
- // // 1:高本振
- // // 0:低本振
- // uint8_t VCO_IB : 3;// 8:6 100 R/W 锁相环 VCO 电流设置
- // // 111:高电流
- // // 000:低电流
- // uint8_t PA1_BC : 2;// 10:9 01 R/W 发射驱动级 PA 电流设置
- // // 11:高电流
- // // 00:低电流
- // uint8_t PA1_LVL : 6;// 16:11 111111 R/W 发射驱动级 PA 输出幅度设置
- // // 111111:最大幅度输出
- // // 000000:最小幅度输出
- // uint8_t PA2_BC : 2;// 18:17 10 R/W 发射输出级 PA 电流设置
- // // 11:高电流
- // // 00:低电流
- // uint8_t PA2_LVL : 6;// 24:19 111111 R/W 发射输出级 PA 输出幅度设置
- // // 11111:最大幅度输出
- // // 00000:最小幅度输出
- // uint8_t LNA_GC : 2;// 26:25 11 R/W LNA 增益选择
- // // 11:最大增益
- // // 00:最小增益
- // uint8_t LNA_BC : 2;// 28:27 11 R/W LNA 电流设置
- // // 11:高电流
- // // 00:低电流
- // uint8_t LO_PH_BC : 1;// 29 0 R/W LO 驱动器电流选择
- // // 1:低电流
- // // 0:高电流
- // uint8_t MIXL_GC_CTR : 1;// 30 1 R/W MIX 增益设置
- // // 1:高增益
- // // 0:低增益
- // uint8_t CTL_BW : 3;// 33:31 001 R/W 滤波器带宽控制:
- // // 40kbps:000;
- // // 80kbps:001;
- // // 200kbps:011;
- // // 400kbps:111;
- // uint8_t GC_BUF : 2;// 35:34 10 R/W 滤波器模块 3 增益设置
- // // 10:高增益
- // // 01:低增益
- // uint8_t PD_RSSI : 1;// 36 0 R/W RSSI 功能使能
- // // 1:使能
- // // 0:不使能
- // uint8_t RSSI_RES : 2;// 38:37 10 R/W RSSI 的信号增益选择位
- // // 00:最小增益
- // // 11:最大增益
- // uint8_t RESERVED : 1;// 39 1 R/W N/A
- // }bits;
- }rf_cal1_ts;
- // 1F BB_CAL 39:0 041F671C09 R/W 数字基带参数寄存器
- // (一般使用默认值)
- typedef struct
- {
- uint8_t value[5];
- // struct
- // {
- // uint8_t RX_ACK_TIME : 6;// 5:0 001001 R/W PTX 转为接收模式后等待 ACK 的最长
- // // 时间,超出该时间则认为本次传输失败:
- // // 400Kbps 模式下的时间计算:
- // // RX_ACK_TIME×40+37us,默认 397us,
- // // 37us~2557us
- // // 200Kbps 模式下的时间计算:
- // // RX_ACK_TIME×80+77us,默认 797us,
- // // 77us~5117us
- // // 80Kbps 模式下的时间计算:
- // // RX_ACK_TIME×160+157,默认 1597us,
- // // 157us~10237us
- // // 40Kbps 模式下的时间计算:
- // // RX_ACK_TIME×320+317,默认 3197us,
- // // 317us~20477us
- // uint8_t RX_SETUP_TIME : 5;// 10:6 10000 R/W RX 射频通路锁相环稳定时间,时间长度
- // // 计算:
- // // RX_SETUP_TIME×20,单位为 us,默认
- // // 320us,0us~620us
- // uint8_t TX_SETUP_TIME : 5;// 15:11 00011 R/W 发射 PA 使能到锁相环开环的时间间隔,
- // // 时间长度计算:
- // // TX_SETUP_TIME×20,单位为 us,默认
- // // 60us,0us~620us
- // uint8_t EX_PA_TIME : 5;// 20:16 00111 R/W 发射锁相环使能到 PA 使能的时间间隔,
- // // 时间长度计算:
- // // EX_PA_TIMEx20,单位为 us
- // // 默认 140us,0us~620us
- // uint8_t TRX_TIME : 3;// 23:21 011 R/W 锁相环开环到开始发射数据的时间间隔,时间长度计算:
- // // TRX_TIMEx10+2.5,单位 us
- // // 默认 32.5us, 2.5us~72.5us
- // uint8_t DAC_BASAL : 6;// 29:24 011111 R/W 预发送阶段的 DAC 数据输入的初始值
- // uint8_t Reserved : 1;// 30 0 R/W N/A
- // uint8_t INVERTER : 1;// 31 0 R/W 进入 RX_block 前是否取反 RX 通路数据
- // // 1:取反
- // // 0:保持不变
- // uint8_t ldo_src : 1;// 32 0 R/W 1 :STB2 状态下 LDO_EN 控制线屏蔽LDO 操作;
- // // 0 :STB2 状态下 LDO_EN 控制线 LDO
- // // 特性受状态机操.
- // uint8_t CE_JUST_TIME : 7;// 39:33 0000010 R/W 默认 10us,fast_ mode 下如果不想修改PRX 的 pth ,
- // // 可 适 当 加 大 PTX 的
- // // CE_JUST_ TIME
- // // 时间长度计算:
- // // CE_JUST_TIME x 5,单位 us
- // // 最小值:0us
- // // 最大值:635us
- // }bits;
- }rf_bb_cal_ts;
- #endif
- /****************************************end of file********************************************/
|