新增:V1.1 功率控制与射频路径更新
This commit is contained in:
@@ -272,7 +272,7 @@
|
||||
|
||||
#define USE_NETWORK_DNS 0 // 是否配置dns
|
||||
#define USE_NEW_POWER_CFG 1 // HMC472 + ADRV9009 power allocation
|
||||
#define USE_FREQ_CHANGE_RESET_PWR 0 // 切换频点后是否先将输出功率降到-25dB
|
||||
#define USE_FREQ_CHANGE_RESET_PWR 1 // 切换频点后是否先将输出功率降到-25dB
|
||||
|
||||
|
||||
#if USE_BIG_LCD
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
# ATSC ADRV9009 射频信号主链路
|
||||
|
||||
本文档按当前工程源码整理 FPGA 到激励器 RF 接口的实际信号路径。
|
||||
|
||||
## 射频信号主路径
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
INPUT["TS 流 / 测试数据"] --> MOD["FPGA ATSC 8VSB 调制"]
|
||||
MOD --> DPD["FPGA DPD 与 IQ 处理"]
|
||||
DPD --> ROUTE["打开 FPGA IQ 路由<br/>FBROUTE = 0x10"]
|
||||
ROUTE --> JESD_TX["FPGA JESD204B TX0<br/>2 Lane · Subclass 0 · 无 SYSREF"]
|
||||
JESD_TX --> DEF["ADRV9009 JESD Deframer"]
|
||||
DEF --> DAC["ADRV9009 TX1 DAC 与插值滤波"]
|
||||
DAC --> MIX["正交调制 + RF PLL 上变频"]
|
||||
MIX --> TX_PATH{"ADRV9009 TX1 通道使能?"}
|
||||
TX_PATH -->|"TALISE_setRxTxEnable(..., TAL_TX1)"| ADRV_ATT["ADRV9009 TX 衰减<br/>0~40000 mdB"]
|
||||
TX_PATH -->|"TAL_TXOFF"| STOP1["芯片内部 TX 停止"]
|
||||
|
||||
ADRV_ATT --> HMC["HMC472 外部衰减<br/>0~63,每步 0.5 dB"]
|
||||
HMC --> RF_SW{"板级 RF 开关?"}
|
||||
RF_SW -->|"FPGA seg1:0x26 = 1"| RF_OUT["激励器 RF 输出接口"]
|
||||
RF_SW -->|"FPGA seg1:0x26 = 0"| STOP2["外部 RF 接口隔离"]
|
||||
|
||||
WE["当前频点 WE"] --> POWER["总衰减计算"]
|
||||
LCD["LCD / 网页输出功率"] --> POWER
|
||||
HW["HardwareVersion<br/>V1.0:0 dB<br/>V1.1:当前代码 +11 dB 补偿"] --> POWER
|
||||
POWER --> SPLIT["衰减分配<br/>ADRV9009 优选约 8 dB<br/>其余优先分配给 HMC472"]
|
||||
SPLIT --> ADRV_ATT
|
||||
SPLIT --> HMC
|
||||
|
||||
MIX -. "TX1 → ORx1 内部映射" .-> ORX["ADRV9009 ORx1"]
|
||||
ORX --> FRAMER["ADRV9009 JESD Framer B"]
|
||||
FRAMER --> FPGA_FB["FPGA 反馈 IQ"]
|
||||
FPGA_FB --> FAGC["ORx FAGC"]
|
||||
FPGA_FB --> DPD_FB["DPD 反馈计算"]
|
||||
FPGA_FB --> QUALITY["SNR / 左右带肩计算"]
|
||||
FAGC -. "调节 ORx 增益" .-> ORX
|
||||
DPD_FB -. "更新预失真参数" .-> DPD
|
||||
```
|
||||
|
||||
## 三层射频开关
|
||||
|
||||
1. `TALISE_radioOn()`:ADRV9009 ARM 进入 Radio On 状态。
|
||||
2. `TALISE_setRxTxEnable(..., TAL_TX1)`:开启 ADRV9009 TX1 信号链。
|
||||
3. FPGA `seg1:0x26 = 1`:接通板级物理 RF 输出开关。
|
||||
|
||||
三层状态以及功率衰减配置均正确后,外部 RF 接口才会稳定输出射频。
|
||||
|
||||
## 关键源码入口
|
||||
|
||||
- `bsp/fpga.c::fpga_save_all_para()`:恢复 FPGA、RF、WE、DPD 等参数。
|
||||
- `adrv9009/adrv9009_config.c::adrv9009_init()`:初始化 ADRV9009 与 JESD 链路。
|
||||
- `adrv9009/jesd204b_config.c::jesd204b_tx0_cfg()`:配置 FPGA JESD204B TX0。
|
||||
- `adrv9009/adrv9009_config.c::adrv9009_set_tx_path_enable()`:控制 ADRV9009 TX1。
|
||||
- `bsp/fpga.c::fpga_save_power()`:计算并分配 ADRV9009/HMC472 衰减。
|
||||
- `bsp/fpga.c::fpga_set_rf_output_with_para()`:控制最终板级 RF 输出。
|
||||
@@ -980,7 +980,7 @@ void http_write_sys(S_CGI_SET *ppara)
|
||||
ppara->hardware_version != atsc_para.system_para.hardware_version)
|
||||
{
|
||||
/*
|
||||
* V1.1 -> V1.0 removes 13 dB of compensation. Always switch
|
||||
* V1.1 -> V1.0 removes 11 dB of compensation. Always switch
|
||||
* RF off before applying a hardware profile change.
|
||||
*/
|
||||
atsc_para.rf_para.rf = 0;
|
||||
|
||||
@@ -6513,7 +6513,7 @@ static void refresh_we1(void *parg,void *parv)
|
||||
sprintf(out_str,"%3d",txfreq_to_hz(ppara->ch));
|
||||
lcd_write_string(LINE_2,prompt_pos.pos[0],out_str);
|
||||
|
||||
if(ppara->power>=WE_POWER_ZERO) //-15dB~0dB~+10dB 0~300~500
|
||||
if(ppara->power>=WE_POWER_ZERO) //V1.0: -15~+10dB; V1.1: -15~+21dB
|
||||
{
|
||||
positive = TRUE;
|
||||
temp = ppara->power-WE_POWER_ZERO;
|
||||
@@ -11062,7 +11062,7 @@ static BOOL proc_key_we1(void *parg,uint8 key)
|
||||
case 1:
|
||||
if(atsc_para.rf_para.agc==0)
|
||||
{
|
||||
if(ppara->power<WE_POWER_MAX)
|
||||
if(ppara->power<get_we_power_max())
|
||||
{
|
||||
ppara->power++;
|
||||
}
|
||||
|
||||
@@ -1617,8 +1617,6 @@ function set_timezone() {
|
||||
<td>
|
||||
<input maxlength="3" size="5" name="orx_manu_gain" value="">(195~255)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>HardwareVersion</td>
|
||||
<td>
|
||||
<select name="hardware_version" id="hardware_version" style="width:100px">
|
||||
@@ -1626,7 +1624,6 @@ function set_timezone() {
|
||||
<option value="1">V1.1</option>
|
||||
</select>
|
||||
</td>
|
||||
<td colspan="2">Changing this setting turns RF output Off.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="button" class="btn-modern" disabled id="para_set_id" alt="Set" value="Set" onclick="return set_syspara();"></td>
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
ATSC SMOD 工程修改记录
|
||||
|
||||
2026-08-28
|
||||
- 完成 V1.1 硬件功率配置相关调整:默认硬件版本、功率上限及 V1.0/V1.1 切换支持。
|
||||
- 开启切换频点时先降至 -25 dB 的保护流程。
|
||||
- 更新网页系统设置布局,将 HardwareVersion 与 ORX_Manu_Gain 同行,并移除旧提示。
|
||||
- 新增 ADRV9009 射频主链路说明文档 `src/atsc_app/tar_sum_atsc_rf_chain.md`。
|
||||
- 本次修改按用户要求未执行编译验证。
|
||||
|
||||
2026-08-21
|
||||
- 当前工作版本更新为 V136R,尚未作为稳定版本提交。
|
||||
- 已知问题:设备开机后以及 DPD 处理完成后,SNR 和左右带肩数据不能及时更新。
|
||||
- 当前修改已增加 DPD 完成后恢复 ORx FAGC 跟踪的处理,但开机刷新场景及整体效果仍需验证。
|
||||
- 在冷启动和 DPD 两种场景验证通过前,不作为正式 V136R 发布。
|
||||
|
||||
2026-08-20
|
||||
- 初次完整提交,提交基线版本为 V135R。
|
||||
- Git 提交:daf8c673(chore: 初始化 ATSC SMOD 工程仓库)。
|
||||
Reference in New Issue
Block a user