USRP e312 RFnoc環境搭建流程
rfnoc模塊是gnuradio用來調用燒寫在usrp裏面的FPGA模塊
目錄
一. 安裝Ubuntu系統
二. 安裝uhd+gnuradio+gr-ettus
三. usrp燒寫rfnoc鏡像
四. 主機與設備連接
一、 安裝Ubuntu系統(LZ使用Ubuntu14.04)
1、在磁盤管理器開闢一塊空白盤來,點擊某個可用區域多的盤進行“擴展卷”,不要設置盤符。
2、用ultraISO製作U盤系統啓動盤(不用拔下U盤)
3、開機啓動時進入BIOS界面,講U盤啓動設爲啓動項第一個
4、安裝類型LZ選的 第一個“安裝Ubuntu,與其他系統共存”,簡單方便。
二、安裝uhd+gnuradio+gr-ettus
1、Ctrl+Alt+T打開terminal,將dash改爲bash,執行下面第一個代碼選 no
sudo dpkg-reconfigure dash
ll /bin/sh
2、兩種安裝方式,第一種使用PyBomb,可以一鍵安裝uhd+gnuradio+gr-ettus。但是有可能有些地方報錯沒有安裝成功,沒有安裝成功的軟件選用第二種手動方式找對應指令安裝即可。
PyBomb安裝方式:
sudo apt-get install git
sudo apt-get install python-setuptools python-dev python-pip build-essential
sudo pip install git+https://github.com/gnuradio/pybombs.git
pybombs recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git
pybombs recipes add ettus git+https://github.com/EttusResearch/ettus-pybombs.git
pybombs prefix init ~/rfnoc -R rfnoc -a rfnoc
pybombs config makewidth 4
以上指令一個一個輸入,需要的地方輸入“Y”。
手動安裝方式:
git clone --recursive -b rfnoc-devel https://github.com/EttusResearch/uhd.git
git clone --recursive -b maint https://github.com/gnuradio/gnuradio.git
git clone -b master https://github.com/EttusResearch/gr-ettus.git
git clone -b rfnoc-devel https://github.com/EttusResearch/fpga.git
(本人親測,建議還是使用手動安裝方式,pybomb安裝經常出現問題)
3、驗證安裝正確與否
uhd_config_info --version
如果出現版本信息就說行安裝正確。
4、配置gnuradio環境變量
cd ~/rfnoc
source ./setup_env.sh
這兩個指令每次進入gnuradio都需要輸入一遍,然後輸入gnuradio-companion
,就可以打開gnuradio。
查看一些uhd信息時需要先進入這個環境,例如uhd_find_devices
可以查看版本信息,以及usrp是否存在。
5、安裝默認FPGA鏡像
“`
uhd_images_downloader
這一步必須在上一步所配置的環境中進行
三、 usrp燒寫rfnoc鏡像
1、 進入 https://pan.baidu.com/s/1o7LG2z4 密碼8uya
裏面會有一個img文件。
2、將e312上的8G sd卡取出來,放入一個讀卡器裏面。裏面數據備份後SD卡格式化,注意下卡的目錄是不是sdb(如何格式化見問題2)
sudo dd if=e312rfnoc.img of=/dev/<yoursdcard> bs=1M
< yoursdcard> 用 /dev/mmcblk0 or /dev/sdb來替代。(默認/dev/sdb)
四. 主機與設備連接
1、進入usrp界面
`sudo screen /dev/ttyUSB0 115200`
可能需要提前下載screensudo apt-get install screen
.然後連接好USB線,電源線。按住電源按鈕2秒左右,出現開機啓動界面。
用戶名默認 root, 密碼 直接回車(默認沒有密碼)
進行相關操作
uhd_usrp_probe
查看usrp裏面配置情況
ifconfig
查看usrp IP地址*(默認192.168.10.2)
2、設置主機IP
我們需要將主機IP與usrp IP處於同一子網內。在桌面右上角聯網標誌處,將有線連接設置爲靜態IP,IP可以設置爲192.168.10.1 ,網關可以設置爲192.168.10.255,用網線將USRP和主機相連。
在USRP界面 ping 192.168.10.1 ping通代表可以通信。
3、演示實例
usrp插上天線。
在usrp界面輸入 ./rfnoc_fosphor_network_usrp1.py
主機用gnuradio打開 rfnoc_fosphor_network_host.grc
該實例演示天線所捕捉到的頻段進行FFT分析以及瀑布圖展示。可以搜查移動 聯通等頻段進行查看。
問題1:出現runtimeerror : No devices found for。。。
進行不同的開發,要刷不同的鏡像。進行RFnoc開發,要刷RFnoc鏡像,如上。如果僅進行簡單UHD操作,只發射接受。那就刷普通版本鏡像。http://files.ettus.com/e3xx_images/e3xx-release-4/ettus-e3xx-sg3/
然後開通網絡模式
開通網絡模式:
http://files.ettus.com/manual/page_usrp_e3x0.html#e3x0_network_mode
問題2:ubuntu下對u盤進行格式化。E312中將8G卡分爲兩個區,一個在/dev/sdb1 一個在/dev/sdb2
在電腦終端執行命令 sudo mkfs.ext4 /dev/sdb1
sudo mkfs.ext4/dev/sdb2
這樣就完成了格式化,但需要進行重啓操作才能正確讀取內存大小!!
—–over—–