新增:V1.1 功率控制与射频路径更新

This commit is contained in:
efox
2026-08-28 13:28:36 +08:00
committed by rfeng
parent 936a850c6b
commit 9763f09b4d
6 changed files with 79 additions and 7 deletions
+1 -1
View File
@@ -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
+57
View File
@@ -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 输出。
+1 -1
View File
@@ -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;
+2 -2
View File
@@ -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++;
}
-3
View File
@@ -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>
+18
View File
@@ -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 工程仓库)。