OpenBTS: E110 Mengubah Master Clock

From OnnoWiki
Jump to navigation Jump to search

Mengubah Master Clock Rate

master clock dari USRP-Embedded dimasukan langsung ke FPGA DSP dan codec chip. Ada ratusan pilihan kecepatan antara 32MHz dan 64MHz. Beberapa clock yang menarik adalah,

  • 64MHz - maximum rate dari codec chip
  • 61.44MHz - bagus untuk aplikasi UMTS/WCDMA
  • 52Mhz - bagus untuk aplikasi GSM

Set 61.44MHz - menggunakan external VCXO

Untuk menggunakan 61.44MHz clock rate dengan USRP-Embedded, dua jumper harus di ubah di device.

J16 sebuah 2 pin header, cabut jumper (atau biarkan hanya di pin1 saja)
J15 sebuah 3 pin header, pindahkan jumper ke (pin1, pin2)

Set 52MHz - menggunakan external VCXO

Untuk menggunakan 52MHz clock rate dengan USRP-Embedded, dua jumper harus di ubah di device.

J16 sebuah 2 pin header, cabut jumper (atau biarkan hanya di pin1 saja)
J15 sebuah 3 pin header, pindahkan jumper ke (pin1, pin2)

Set ke rate lainnya - menggunakan internal VCO

CARA INI TIDAK PERMANEN

Untuk menggunakan clock rate lainnya, jumper harus di posisi default.

J16 sebuah 2 pin header, pindahkan jumper ke (pin1, pin2)
J15 sebuah 3 pin header, pindahkan jumper ke (pin2, pin3)

Untuk berkomunikasi dengan clock rate yang kita inginkan ke UHD, kita perlu memasukan special device address argument, dengan kata kunci "master_clock_rate" dan nilai dalam Hz, contoh:

uhd_usrp_probe --args="master_clock_rate=52e6"

Menggunakan Reference Clock 10MHz

The E1xx mempunyai 10MHz TCXO yang dapat digunakan untuk mendisiplin flexible clocking dengan cara memilih REF_INT untuk clock_config_t.

Alternatif-nya, sebuah reference clock external 10MHz dapat digunakan,

  • Sambungkan konektor J10 (REF_IN) membutuhkan konektor MCX untuk menyambungkan WM5541-ND atau yang equivalen.
  • Square wave akan memberikan phase noise performance yang terbaik, tapi sinus juga OK.
  • Power level: 0 to 15dBm
  • Select REF_SMA di clock_config_t

Mengubah Melalui Source Code UHD

NAGA-NAGA CARA INI CUKUP OK

Download

opkg remove --force-depends uhd uhd-dev uhd-examples uhd-tests
echo "/usr/local/lib" >> /etc/ld.so.conf
cd ~/src
git clone git://ettus.sourcerepo.com/ettus/uhd.git uhd.git

e100_impl.hpp

Edit file

cd ~/src/uhd.git/host/lib/usrp/e100
vi e100_impl.hpp

Ubah

static const double E100_DEFAULT_CLOCK_RATE = 64e6;

menjadi

static const double E100_DEFAULT_CLOCK_RATE = 52e6;

e100_impl.cpp

Edit file

vi ~/src/uhd.git/host/lib/usrp/e100/e100_impl.cpp

Cek ada

("E110", "usrp_e110_fpga.bin")

Compile

cd ~/src/uhd.git/host/
mkdir build
cd ~/src/uhd.git/host/build
cmake -DCMAKE_CXX_FLAGS:STRING="-mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -g" -DENABLE_USRP_E100=TRUE -DENABLE_E100=ON -DENABLE_USRP_E_UTILS=TRUE -DENABLE_USB=OFF -DENABLE_USRP2=OFF ../
make
make install

HACK sedikit

cp ~/src/uhd.git/host/build/lib/libuhd.so* /usr/lib
cp -Rf /usr/share/uhd/images/ /usr/local/share/uhd/

Coba di test hasilnya

uhd_usrp_probe

Hasilnya harus

linux; GNU C++ version 4.5.3 20110311 (prerelease); Boost_104500; UHD_003.004.000-7dc76db

-- Opening device node /dev/usrp_e0...
-- Initializing FPGA clock to 52.000000MHz...
-- USRP-E100 clock control: 12
--   r_counter: 2
--   a_counter: 4
--   b_counter: 19
--   prescaler: 8
--   vco_divider: 2
--   chan_divider: 15
--   vco_rate: 1560.000000MHz
--   chan_rate: 780.000000MHz
--   out_rate: 52.000000MHz
-- 
-- Performing wishbone readback test... pass

Referensi

Pranala Menarik

Persiapan

OpenBTS 2.6

OpenBTS 2.8

Multi OpenBTS 2.8

Ettus E110

Power Amplifier

Lain Lain

Catatan Legal dan Pendukung

Catatan Sejarah

Dokumentasi Video