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

Cara ini di perlukan supaya USRPPing tidak rewel.

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;
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

PATH=$PATH:/usr/local/bin
export PATH
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

Compatibility Error

Kalau keluar Error

-- Performing wishbone readback test... pass
Error: RuntimeError: Expected FPGA compatibility number 9, but got 8:
The FPGA build is not compatible with the host code build.

SOLUSI:

Lakukan Instalasi UHD Image Tepatnya, download dari

http://files.ettus.com/binaries/master_images/
http://files.ettus.com/binaries/next_images/
http://files.ettus.com/binaries/uhd_stable/
tar zxvf uhd-images_003.004.003-205-g4896bf78.tar.gz
cd uhd-images_003.004.003-205-g4896bf78/share/uhd/images/
cp -Rf * /usr/share/uhd/images/
cp -Rf * /usr/local/share/uhd/images/


Error Clock

Jika keluar Clock Error berikut

UHD Error:
    The FPGA is either clocked improperly
    or the FPGA build is not compatible.
    Subsequent errors may follow...

SOLUSI: Belum tahu

Referensi

Pranala Menarik

Persiapan

Script

OpenBTS 2.6

OpenBTS 2.8

Multi OpenBTS 2.8

OpenBTS 3.1.x

Ettus E110

Ettus N210

RangeNetworks

GPRS

Briker OpenBTS

FreeSWITCH OpenBTS

Power Amplifier

Lain Lain

Catatan Legal dan Pendukung

Catatan Sejarah

Dokumentasi Video

Perjuangan OpenBTS