WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
cali_online_tx_pwr.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2022-2022. All rights reserved.
3 * Description: cali_online_tx_pwr.c 的头文件
4 * Date: 2022-10-20
5 */
6
7#ifndef __CALI_ONLINE_TX_PWR_H__
8#define __CALI_ONLINE_TX_PWR_H__
9/*****************************************************************************
10 1 其他头文件包含
11*****************************************************************************/
12#include "fe_init_pow.h"
13#include "hal_gp_reg.h"
14#include "hal_power.h"
15#include "fe_power_host.h"
16#include "power_ppa_ctrl_spec.h"
17
18#ifdef __cplusplus
19#if __cplusplus
20extern "C" {
21#endif
22#endif
23/*****************************************************************************
24 2 宏定义
25*****************************************************************************/
26#define ONLINE_CALI_UPC_RE_ADJUST_TH0 (10)
27#define ONLINE_CALI_UPC_RE_ADJUST_TH1 (10)
28
29#define ONLINE_CALI_DBB_SCALING_MIN_STEP (1) /* 动态校准最小步进,对应最小阈值使用 */
30#define ONLINE_CALI_DBB_SCALING_MAX_STEP (5) /* 动态校准最大步进,对应最大阈值使用 */
31#define ONLINE_CALI_DBB_SCALING_MAX_TH (50) /* 动态校准DBB SCALING补偿范围最大阈值 */
32#define ONLINE_CALI_DBB_SCALING_MIN_TH (-50) /* 动态校准DBB SCALING补偿范围最小阈值 */
33#define ONLINE_CALI_DBB_SCALING_MAX_GAP (5) /* 动态校准DBB SCALING使用最大阈值 */
34#define ONLINE_CALI_DBB_SCALING_INIT_VAL (0x80) /* DBB SCALING SHADOW默认值 */
35
36/* 获取动态校准是否未使能 */
37#define ONLINE_CALI_PER_FRAME_TIMER_PERIOD (10000) /* 动态校准每帧定时器10s定时 */
38#define ONLINE_CALI_INTVL_TIMER_PERIOD (200) /* 每帧最小间隔时间 */
39#define ONLINE_CALI_PWR_MAX_TH (15) /* 动态校准最大阈值 */
40#define ONLINE_CALI_PWR_MIN_TH (3) /* 动态校准最小阈值 */
41#define ONLINE_CALI_PWR_DIFF_INVALID (100)
42
43#define ONLINE_CALI_ACCU_ABNORMAL_CNT (5)
44#define ONLINE_CALI_DSCR_INTERVAL (0x1) /* 帧间隔 初值超过0x400溢出 */
45#define ONLINE_CALI_COMPLETE_INTVL_FACTOR (5) /* 校准结束调整帧间隔 左移5位 放大2^5=32倍 */
46/* 芯片无效动态功率 */
47#define ONLINE_CALI_POW_INVALID (250)
48
49/*****************************************************************************
50 3 枚举定义
51*****************************************************************************/
59
60/* 调制方式枚举 */
68/*****************************************************************************
69 4 全局变量声明
70*****************************************************************************/
71
72/*****************************************************************************
73 5 消息头定义
74*****************************************************************************/
75/*****************************************************************************
76 6 消息定义
77*****************************************************************************/
78/*****************************************************************************
79 7 STRUCT定义
80*****************************************************************************/
81/* 寄存器读取pdet的数据结构 */
82typedef union {
83 struct {
84 osal_s32 q : 13; /* [12..0] */
85 osal_s32 i : 13; /* [25..13] */
86 osal_s32 reserved : 6; /* [31..26] */
87 } bits;
90
105
106/* 会影响目标pdet值的参数集合 */
132typedef struct {
133 oal_bool_enum_uint8 dyn_pow_cali_comp_flag[CALI_STREAM_TYPE_BUTT][CALI_TXPWR_GAIN_LVL_NUM]; /* 校准收敛标志 */
134 oal_bool_enum_uint8 ppa_lut_adjusted_flag[CALI_STREAM_TYPE_BUTT][CALI_TXPWR_GAIN_LVL_NUM]; /* ppa lut调整过 */
137typedef struct alg_dyn_cali_val {
138 frw_timeout_stru dyn_cali_per_frame_timer; /* 动态校准每帧的定时器 */
139 frw_timeout_stru dyn_cali_intvl_timer; /* 最小帧间隔200ms的定时器 */
141 osal_u16 dyn_cali_en_intvl[WLAN_BAND_BUTT]; /* 两次动态校准间隔描述符个数 */
142
143 osal_s32 dyn_cali_val_min_th; /* 动态校准极小阈值 */
144 osal_s32 dyn_cali_val_max_th; /* 动态校准极大阈值 */
145
146 osal_u16 s_temp; /* Tsensor检测温度 */
147 osal_u8 tx_dyn_cali_chain_sel; /* 当前tx流程下的动态校准校准通道号 */
148 oal_bool_enum_uint8 dyn_cali_adjst; /* 动态校准使能补偿开关 */
149
152
153 osal_u32 curr_rx_comp_isr_count; /* 一轮间隔内,接收完成中断的产生个数 */
154 osal_u32 rx_comp_isr_interval; /* 间隔多少个接收完成中断打印一次pdet信息 */
155
156 osal_u8 dyn_cali_complete_chain; /* 当前动态校准调整rf通道号 */
159 osal_s8 cali_channel_index; /* 校准频点,用于判断是否切信道 */
160
162 oal_bool_enum_uint8 pdet_debug_switch; /* 打印芯片上报pdet值的日志开关 */
167 osal_u8 resv[1]; /* 3 字节对齐 */
170 osal_u16 pow_too_low_times[WLAN_RF_CHANNEL_NUMS]; /* 记录功率异常低次数 */
171 osal_u16 pow_too_high_times[WLAN_RF_CHANNEL_NUMS]; /* 记录功率异常高次数 */
173
174/*****************************************************************************
175 8 UNION定义
176*****************************************************************************/
177/*****************************************************************************
178 9 OTHERS定义
179*****************************************************************************/
180/*****************************************************************************
181 10 函数声明
182*****************************************************************************/
191 osal_u16 us_event_data_len, osal_void *p_event_data);
192#ifdef __cplusplus
193#if __cplusplus
194}
195#endif
196#endif
197#endif // __CALI_ONLINE_TX_PWR_H__
#define CALI_DC_OFFSET_NUM
Definition cali_online_common.h:23
online_cali_mod_enum
Definition cali_online_tx_pwr.h:61
@ ONLINE_CALI_MOD_DSSS
Definition cali_online_tx_pwr.h:62
@ ONLINE_CALI_MOD_OFDM
Definition cali_online_tx_pwr.h:63
@ ONLINE_CALI_MOD_BUTT
Definition cali_online_tx_pwr.h:65
osal_u32 online_cali_dyn_pow_event(osal_void *p_ctx, osal_u16 us_event, osal_u16 us_event_data_len, osal_void *p_event_data)
osal_u8 online_cali_mod_enum_uint8
Definition cali_online_tx_pwr.h:67
osal_void online_cali_dyn_pow_state_exit(osal_void *p_ctx)
online_cali_adj_type_enum
Definition cali_online_tx_pwr.h:52
@ ONLINE_CALI_PDET_ADJUST_BUTT
Definition cali_online_tx_pwr.h:57
@ ONLINE_CALI_PDET_ADJUST_ASCEND
Definition cali_online_tx_pwr.h:54
@ ONLINE_CALI_PDET_ADJUST_VARIED
Definition cali_online_tx_pwr.h:56
@ ONLINE_CALI_PDET_ADJUST_INIT
Definition cali_online_tx_pwr.h:53
@ ONLINE_CALI_PDET_ADJUST_DECLINE
Definition cali_online_tx_pwr.h:55
osal_u16 online_cali_get_cus_dyn_cali_intvl(wlan_channel_band_enum_uint8 band)
osal_void online_cali_dyn_pow_state_entry(osal_void *p_ctx)
osal_void(* hal_flush_single_phy_txgain_reg)(const hal_device_stru *, osal_u16, osal_u16)
Definition cali_online_tx_pwr.h:91
online_cali_pow_ctrl_stru * online_cali_get_txpow_ctrl(osal_u8 chain)
struct alg_dyn_cali_val online_cali_dyn_stru
osal_void online_cali_init_per_frame_timer(hal_to_dmac_device_stru *device)
osal_void online_cali_pow_cali_set_dscr_intvl(online_cali_dyn_stru *dyn_cali, wlan_channel_band_enum_uint8 band, osal_u16 val)
osal_u8 rsv[3]
Definition oal_net.h:2
osal_u8 oal_bool_enum_uint8
Definition oal_types_device_rom.h:45
int osal_s32
Definition osal_types.h:19
unsigned char osal_u8
Definition osal_types.h:11
signed char osal_s8
Definition osal_types.h:17
unsigned long long osal_u64
Definition osal_types.h:14
short osal_s16
Definition osal_types.h:18
void osal_void
Definition osal_types.h:29
unsigned int osal_u32
Definition osal_types.h:13
unsigned short osal_u16
Definition osal_types.h:12
#define CALI_TXPWR_GAIN_LVL_NUM
Definition power_ppa_ctrl_spec.h:24
@ CALI_STREAM_TYPE_BUTT
Definition power_ppa_ctrl_spec.h:36
Definition cali_online_tx_pwr.h:137
osal_s8 cali_channel_index
Definition cali_online_tx_pwr.h:159
osal_u16 dyn_cali_en_cnt[WLAN_BAND_BUTT]
Definition cali_online_tx_pwr.h:140
osal_u8 resv[1]
Definition cali_online_tx_pwr.h:167
oal_bool_enum_uint8 en_temp_change_flag
Definition cali_online_tx_pwr.h:158
oal_bool_enum_uint8 dyn_cali_adjst
Definition cali_online_tx_pwr.h:148
osal_u16 dyn_cali_en_intvl[WLAN_BAND_BUTT]
Definition cali_online_tx_pwr.h:141
online_cali_info_stru dyn_cali_pow_info[CALI_STREAM_TYPE_BUTT]
Definition cali_online_tx_pwr.h:150
osal_u16 pow_too_high_times[WLAN_RF_CHANNEL_NUMS]
Definition cali_online_tx_pwr.h:171
wlan_channel_band_enum_uint8 dyn_cali_complete_band
Definition cali_online_tx_pwr.h:157
online_cali_chain_status_stru dyn_pow_cali_status
Definition cali_online_tx_pwr.h:151
oal_bool_enum_uint8 pow_accum_flag[WLAN_RF_CHANNEL_NUMS]
Definition cali_online_tx_pwr.h:168
osal_s16 dc_offset[CALI_DC_OFFSET_NUM]
Definition cali_online_tx_pwr.h:166
osal_u16 s_temp
Definition cali_online_tx_pwr.h:146
osal_u32 rx_comp_isr_interval
Definition cali_online_tx_pwr.h:154
frw_timeout_stru dyn_cali_intvl_timer
Definition cali_online_tx_pwr.h:139
osal_u8 dyn_cali_complete_chain
Definition cali_online_tx_pwr.h:156
frw_timeout_stru dyn_cali_per_frame_timer
Definition cali_online_tx_pwr.h:138
oal_bool_enum_uint8 pdet_debug_switch
Definition cali_online_tx_pwr.h:162
oal_bool_enum_uint8 dyn_pow_cali_flag
Definition cali_online_tx_pwr.h:163
osal_s32 dyn_cali_val_max_th
Definition cali_online_tx_pwr.h:144
oal_bool_enum_uint8 com_upc_switch
Definition cali_online_tx_pwr.h:165
osal_s32 dyn_cali_val_min_th
Definition cali_online_tx_pwr.h:143
osal_u8 tx_dyn_cali_chain_sel
Definition cali_online_tx_pwr.h:147
oal_bool_enum_uint8 pow_accum_times[WLAN_RF_CHANNEL_NUMS]
Definition cali_online_tx_pwr.h:169
oal_bool_enum_uint8 adjust_pow_method
Definition cali_online_tx_pwr.h:164
osal_u32 curr_rx_comp_isr_count
Definition cali_online_tx_pwr.h:153
osal_u16 pow_too_low_times[WLAN_RF_CHANNEL_NUMS]
Definition cali_online_tx_pwr.h:170
osal_u8 en_dync_cali_done_ch
Definition cali_online_tx_pwr.h:161
Definition power_ppa_ctrl_spec.h:57
Definition frw_ext_common_rom.h:20
Definition cali_online_tx_pwr.h:132
Definition cali_online_tx_pwr.h:118
osal_s32 pdet_cal
Definition cali_online_tx_pwr.h:122
osal_u8 cur_protocol
Definition cali_online_tx_pwr.h:125
online_cali_record_union record_para
Definition cali_online_tx_pwr.h:119
osal_u16 rsv
Definition cali_online_tx_pwr.h:130
oal_bool_enum_uint8 cali_pdet_adjust_flag
Definition cali_online_tx_pwr.h:128
osal_s16 delt_dbb_scale_dyn_val
Definition cali_online_tx_pwr.h:129
osal_s32 exp_pow
Definition cali_online_tx_pwr.h:121
osal_u8 rate_idx
Definition cali_online_tx_pwr.h:127
osal_s32 previous_pdet_val
Definition cali_online_tx_pwr.h:123
osal_s32 real_pow
Definition cali_online_tx_pwr.h:120
osal_u8 upc_idx
Definition cali_online_tx_pwr.h:126
Definition cali_online_tx_pwr.h:92
oal_bool_enum_uint8 upc_code_tobe_updated
Definition cali_online_tx_pwr.h:93
osal_s8 target_gain_num_online
Definition cali_online_tx_pwr.h:101
osal_s8 base_upc_idx
Definition cali_online_tx_pwr.h:94
cali_pow_crtl_table_stru * ppa_lut
Definition cali_online_tx_pwr.h:98
osal_s8 rsv
Definition cali_online_tx_pwr.h:96
osal_s8 target_gain_num
Definition cali_online_tx_pwr.h:95
osal_s8 base_upc_idx_online
Definition cali_online_tx_pwr.h:100
cali_pow_crtl_table_stru * upc_idx2code_online
Definition cali_online_tx_pwr.h:103
osal_s16 rsv2
Definition cali_online_tx_pwr.h:102
Definition hal_device_rom.h:39
Definition hal_ops_common_rom.h:529
Definition cali_online_tx_pwr.h:82
osal_s32 reserved
Definition cali_online_tx_pwr.h:86
osal_s32 i
Definition cali_online_tx_pwr.h:85
osal_s32 q
Definition cali_online_tx_pwr.h:84
osal_u32 u32
Definition cali_online_tx_pwr.h:88
Definition cali_online_tx_pwr.h:107
osal_u64 para
Definition cali_online_tx_pwr.h:116
osal_u16 channel
Definition cali_online_tx_pwr.h:112
osal_s16 tx_pow
Definition cali_online_tx_pwr.h:109
wlan_bw_cap_enum_uint8 bw
Definition cali_online_tx_pwr.h:111
wlan_channel_band_enum_uint8 freq
Definition cali_online_tx_pwr.h:110
online_cali_mod_enum_uint8 mod
Definition cali_online_tx_pwr.h:113
#define WLAN_RF_CHANNEL_NUMS
Definition wlan_spec_rom.h:214
osal_u8 wlan_bw_cap_enum_uint8
Definition wlan_types.h:455
@ WLAN_BAND_BUTT
Definition wlan_types_base_rom.h:95
osal_u8 wlan_channel_band_enum_uint8
Definition wlan_types_base_rom.h:97