USRP 用作 OpenBTS 时的时钟改制
USRP 的缺省时钟是 64 Mhz。 GSM 的时钟是源于 13 MHz,所以 13 的倍频便“有利于”宿主。将 USRP 的时钟改制为 52 Mhz 将 使得采样和处理的效率更高。 用于 OpenBTS 的 52MHz 的时钟源
眼前有如下三种选择被广泛的用于 OpenBTS: 这样,便具备了,一个可能的、稳定的 52Mhz 的外部时钟。用它便可以来运行 OpenBTS。在此,便是相关的硬件和软件的配置指导。 使用外部时钟时 USRP 硬件相应的更改。- 把 SMA 连接器焊置于 J2001. 这便是输入频率
。焊接 SMA 连接器时应格外小心不要损伤 J2001 到
C927 的连接。
- 把 R2029 移到 R2030. 这将废除板上时钟。R2029/R2030 是个
0-ohm电阻。
- 把 C925 移到 C926。
- 去掉 C924.
运行 OpenBTS 时软件的相应更改: 基于 gnuradio ver. 3.1.3: - 在 usrp/host/lib/legacy/usrp_basic.h 文档中,第 122 行应当读取
- long fpga_master_clock_freq () const { return 52000000; }
- 在 usrp/host/lib/legacy/usrp_standard.cc 中,第 703 行应当被去功能化
- //assert (dac_freq () == 128000000);
- 运行 "make install"
- 重构 openbts
- 修改 OpenBTS.config (或者任何你所用的配置文件) 以便让 TRX.Path 指向 "../Transceiver52M/transceiver".
基于 gnuradio ver. 3.2 or higher: - 在 usrp/host/lib/legacy/usrp_basic.cc 中,第 116 行应当读取 d_verbose (false),
- d_fpga_master_clock_freq(52000000), d_db(2)
- 在 usrp/host/lib/legacy/usrp_standard.cc 中,第 1024 行应当被去概念化
- // assert (dac_rate() == 128000000);
- 在 usrp/host/lib/legacy/db_flexrf.cc 中,第 179 行应当读取
- return 52e6/_refclk_divisor();
- 运行 "make install"
- 重构 openbts
- 修改 OpenBTS.config
(或者任何你所用的配置文件) 以便让 TRX.Path 指向 "../Transceiver52M/transceiver".
问题昭知 - Known Problems 发行版 release 2.5 "Lacassine",修改后的 52MHz 同 Mac OS X 不兼容。所以 OS X 的用户,只能使用 64 MHz。 注:Open BTS Clock Modifications(原文出处,翻译整理仅供参考!) |