赞
踩
RTK 有一套power limit机制,在不同区域,限制各个制式下、各个信道的最大power,
降sar 是依据场景不同,进行功率降低,这个有所不同。
1.优先从TXPWR_LMT.txt 获取power limit 参数
2.如果没有TXPWR_LMT.txt ,则从代码里获取,流程如下
以8822cs 为例,加载驱动时:
rtl8822cs/os_dep/linux/os_intfs.c
rtw_init_drv_sw
rtw_hal_dm_init(padapter)
rtl8822cs/hal/hal_intf.c
rtw_hal_dm_init
phy_load_tx_power_ext_info
rtl8822cs/hal/hal_com_phycfg.c
phy_load_tx_power_ext_info
phy_load_tx_power_limit
// Start with TXPWR_LMT.txt Get parameters
PHY_ConfigRFWithPowerLimitTableParaFile(adapter, PHY_FILE_TXPWR_LMT)
// Failed to obtain parameters from file, then obtain default values from code
odm_config_rf_with_header_file(&hal_data->odmpriv, CONFIG_RF_TXPWR_LMT, RF_PATH_A)
rtl8822cs/hal/phydm/phydm_hwconfig.c
odm_config_rf_with_header_file
READ_AND_CONFIG_MP(8822c, _txpwr_lmt)
rtl8822cs/hal/phydm/halrf/rtl8822c/halhwimg8822c_rf.c
odm_read_and_config_mp_8822c_txpwr_lmt
const struct txpwr_lmt_t_8822c array_mp_8822c_txpwr_lmt[] = {
{PW_LMT_REGU_FCC, PW_LMT_BAND_2_4G, PW_LMT_BW_20M, PW_LMT_RS_CCK, PW_LMT_PH_1T, 1, 72},
{PW_LMT_REGU_ETSI, PW_LMT_BAND_2_4G, PW_LMT_BW_20M, PW_LMT_RS_CCK, PW_LMT_PH_1T, 1, 60},
{PW_LMT_REGU_MKK, PW_LMT_BAND_2_4G, PW_LMT_BW_20M, PW_LMT_RS_CCK, PW_LMT_PH_1T, 1, 68},
{PW_LMT_REGU_IC, PW_LMT_BAND_2_4G, PW_LMT_BW_20M, PW_LMT_RS_CCK, PW_LMT_PH_1T, 1, 72},
{PW_LMT_REGU_KCC, PW_LMT_BAND_2_4G, PW_LMT_BW_20M, PW_LMT_RS_CCK, PW_LMT_PH_1T, 1, 76},
{PW_LMT_REGU_ACMA, PW_LMT_BAND_2_4G, PW_LMT_BW_20M, PW_LMT_RS_CCK, PW_LMT_PH_1T, 1, 60},
{PW_LMT_REGU_CHILE, PW_LMT_BAND_2_4G, PW_LMT_BW_20M, PW_LMT_RS_CCK, PW_LMT_PH_1T, 1, 72},
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。