From 9763f09b4dfe193bba48459656d26c77c6d189e8 Mon Sep 17 00:00:00 2001 From: efox Date: Fri, 28 Aug 2026 12:04:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9AV1.1=20=E5=8A=9F?= =?UTF-8?q?=E7=8E=87=E6=8E=A7=E5=88=B6=E4=B8=8E=E5=B0=84=E9=A2=91=E8=B7=AF?= =?UTF-8?q?=E5=BE=84=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/atsc_app/inc/config.h | 2 +- src/atsc_app/tar_sum_atsc_rf_chain.md | 57 +++++++++++++++++++++++++++ src/atsc_app/task/http_get.c | 2 +- src/atsc_app/task/lcd_task.c | 4 +- src/web/www/sys_set.html | 3 -- 修改记录_agt_manu.txt | 18 +++++++++ 6 files changed, 79 insertions(+), 7 deletions(-) create mode 100644 src/atsc_app/tar_sum_atsc_rf_chain.md create mode 100644 修改记录_agt_manu.txt diff --git a/src/atsc_app/inc/config.h b/src/atsc_app/inc/config.h index 3a0d8c5..966bc40 100755 --- a/src/atsc_app/inc/config.h +++ b/src/atsc_app/inc/config.h @@ -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 diff --git a/src/atsc_app/tar_sum_atsc_rf_chain.md b/src/atsc_app/tar_sum_atsc_rf_chain.md new file mode 100644 index 0000000..a749297 --- /dev/null +++ b/src/atsc_app/tar_sum_atsc_rf_chain.md @@ -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 路由
FBROUTE = 0x10"] + ROUTE --> JESD_TX["FPGA JESD204B TX0
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 衰减
0~40000 mdB"] + TX_PATH -->|"TAL_TXOFF"| STOP1["芯片内部 TX 停止"] + + ADRV_ATT --> HMC["HMC472 外部衰减
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
V1.0:0 dB
V1.1:当前代码 +11 dB 补偿"] --> POWER + POWER --> SPLIT["衰减分配
ADRV9009 优选约 8 dB
其余优先分配给 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 输出。 diff --git a/src/atsc_app/task/http_get.c b/src/atsc_app/task/http_get.c index 436e36e..dfbf25c 100755 --- a/src/atsc_app/task/http_get.c +++ b/src/atsc_app/task/http_get.c @@ -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; diff --git a/src/atsc_app/task/lcd_task.c b/src/atsc_app/task/lcd_task.c index c2bee4c..0488987 100755 --- a/src/atsc_app/task/lcd_task.c +++ b/src/atsc_app/task/lcd_task.c @@ -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->powerpowerpower++; } diff --git a/src/web/www/sys_set.html b/src/web/www/sys_set.html index c4383b7..5abfe96 100755 --- a/src/web/www/sys_set.html +++ b/src/web/www/sys_set.html @@ -1617,8 +1617,6 @@ function set_timezone() { (195~255) - - HardwareVersion - Changing this setting turns RF output Off. diff --git a/修改记录_agt_manu.txt b/修改记录_agt_manu.txt new file mode 100644 index 0000000..0f89a55 --- /dev/null +++ b/修改记录_agt_manu.txt @@ -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 工程仓库)。