-
n310硬件连接 usrp_软件无线电 USRP N310_USRP N300系列 -软无中文网
2020-12-23 15:24:58tolerant deploymentRemote management capabilityStand-alone (embedded) or host-based (network streaming) operationFully integrated and assembled (the USRP N31...产品特征High channel density
Reliable and fault-tolerant deployment
Remote management capability
Stand-alone (embedded) or host-based (network streaming) operation
Fully integrated and assembled (the USRP N310 does not support swappable daughtercards)
10 MHz to 6 GHz extended frequency range
Up to 100 MHz of instantaneous bandwidth per channel
4 RX, 4TX in half-wide RU form factor[1]
RX, TX filter bank
16 bit ADC, 14 bit DAC
Configurable sample rates: 122.88, 125, and 153.6 MS/s
Xilinx Zynq-7100 SoCDual-core ARM Cortex-A9 800 MHz CPU
Two SFP+ ports (1 Gigabit Ethernet, 10 Gigabit Ethernet, Aurora)
RJ45 (1 GbE)[2]
Clock reference
PPS time reference
External RX, TX LO input ports [3]
Built-in GPSDO
1 Type A USB host port
1 micro-USB port (serial console, JTAG)
Trusted Platform Module v1.2
Watchdog timer
OpenEmbedded Linux
USRP Hardware Driver™ (UHD) open-source software API version 3.11.0 or later
RF Network on Chip (RFNoC™ ) FPGA development framework
Xilinx Vivado 2017.4 Design Suite (license not included)
GNU Radio support maintained by Ettus Research™ through GR-UHD, an interface to UHD distributed by GNU Radio
[1] The RF front-end uses two AD9371 transceivers that are independently tunable. Each transceiver is capable of 2X2 MIMO operation with LO sharing between each channel.
[2] The RJ45 port is used for remote management of the device and does not support IQ streaming.
[3] The external LO frequency must be twice the center frequency, with center frequency limited to the range from 300 MHz to 4 GHz. Phase coherency is not repeatable after retune or reinitialization of the RF front-end. Phase recalibration is required after these operations.
设计框图
点击查看大图
USRP N310 Motherboard
点击查看大图
USRP N310 Daughterboard
-
n310硬件连接 usrp_USRP N310 配置教程
2020-12-23 15:24:59(建议安装3.13以后的版本)N310内部自带了ARM CPU,运行通过连接到内部ARM CPU的方式来进行配置和管理,为了后续的使用还是有必要连接到ARMCPU,可以采用多种方法连接到usrp n310的CPU: 1.1、通过console JTAG口1...一.第一次使用N310 的配置
首先在PC上安装USRP的UHD驱动和镜像,具体安装方案相关的教程比较多。在此安装的uhd版本为3.13.1.0。(建议安装3.13以后的版本)
N310内部自带了ARM CPU,运行通过连接到内部ARM CPU的方式来进行配置和管理,为了后续的使用还是有必要连接到ARM
CPU,可以采用多种方法连接到usrp n310的CPU: 1.1、通过console JTAG口
1.2、利用SSH协议
- 1.1 console JTAG 连接到ARM CPU
1.1.1 安装screen
可以在linux上使用screen工具使用串行终端模拟器通过串行控制台端口获得对设备的shell访问。通过CONSOLE JTAG口连接到PC,如果linux未安装screen工具,采用以下命令安装:
$ sudo apt install screen
安装完screen 将PC和 usrp n310 通过 console JTAG接口连接到PC的USB接口后运行以下命令:
$ ls /dev/serial/by-id
显示结果参考如下,这里需要使用到第三、四行的输出结果
usb-Digilent_Digilent_USB_Device_25163517D396-if00-port0
usb-Digilent_Digilent_USB_Device_25163517D396-if01-port0
usb-Silicon_Labs_CP2105_Dual_USB_to_UART_Bridge_Controller_0097D3E0-if00-port0
usb-Silicon_Labs_CP2105_Dual_USB_to_UART_Bridge_Controller_0097D3E0-if01-port0
根据上述指令运行结果,采用以下命令 连接到N310的ARM CPU
$ sudo screen /dev/serial/by-id/usb-Silicon_Labs_CP2105_Dual_USB_to_UART_Bridge_Controller_0097D3E0-if00-port0 115200
输入密码默认为:root,登入到ARM CPU,
在此操作模式下,可以通过指令对设备执行操作: 如关机命令: root@ni-n3xx-317E259:~# shutdown -h now
重启设备命令: root@ni-n3xx-317E259:~# reboot //还可以在此模式下更新设备的FPGA镜像
- 1.2 通过SSH协议连接到ARM CPU
在默认情况下,n310的RJ45(1Gb)管理接口配置为DHCP IP地址。如果您可以访问具有DHCP服务器的网络(例如公共路由器的LAN),直接将RJ45 1Gb端口连接到此网络,后运行uhd_find_devices命令应该可以识别到设备,在mgmt_addr一栏对应设备的IP地址。可以直接跳到步骤 1.2.2
-1.2.1 dnsmasq命令创建DHCP服务器
你可以在ARM模式下输入ip a 指令,查看n310各个端口的ip地址
(注意图中eth0对应RJ45 1GB端口,因为我所访问的网络不具有DHCP服务器故图中eth0没有IP,因此我采取了自己创建的方式)
如果无法访问具有DHCP服务器的网络,则可以使用Linux实例程序dnsmasq创建一个:
将RJ45 1GB 端口连接到PC的网卡(名为enp4s0)后,首先再PC上网络→编辑连接,新建一个连接命名为RJ45,选择对应网卡(enp4s0)后,注意要设置MTU为8000字节,不要设置为自动,再IPV4一栏将此网卡ip与n310设设置为同一网段,设置为192.168.1.254/25。设置如下图:
设置完后在终端窗口输入:
$ sudo dnsmasq -i enp4s0 --dhcp-range=192.168.1.151,192.168.1.254 --except-interface=lo --bind-dynamic --no-daemon
其中enp4s0根据自己要创建DHCP服务器的网卡名称修改。
在ARM CPU模式下再次使用 ip a 查看设备地址,可以看到设备此时的地址为192.168.1.205。
-1.2.2 SSH连接到ARM CPU
假设uhd_find_devices查看设备ip(mgmt_addr)为192.168.1.187/24,设备获得ip地址后采用以下命令通过ssh连接到设备ARM CPU:
$ ssh root@192.168.1.187
输入默认密码root后,即可连接成功。
2、N310内部系统和FPGA镜像更新
2.1 N310系统更新
根据N310的官方文档要求,在操作设备之前,强烈建议更新到最新版本的嵌入式Linux文件系统。 也就是说如果你在网络模式(不连接到ARM CPU)下操作设备,则主机上运行的UHD版本和N3xx USRP必须匹配。
官方档案(http://kb.ettus.com/N300/N310_Getting_Started_Guides#Probe_the_USRP_N300.2FN310
中提供了两种方法来更新LINUX文件系统:
Mender
往N310自带的microSD卡中写入新的文件系统
因为没有买读卡器。。。在此采用了第一种方法(第二种参考官方文档)更新文件系统,依次运行以下命令:
下载mender镜像:
$ sudo uhd_images_downloader -t mender -t n3xx –yes
采用scp将此镜像拷贝到n310(ip注意根据设备的ip地址修改):
$scp/usr/local/share/uhd/images/usrp_n3xx_fs.mender root@192.168.1.205:~/.
连接到ARM CPU,在设备模式下输入命令:
root@ni-n3xx-serial:~# mender -rootfs /home/root/usrp_n3xx_fs.mender
更新完成后,在此模式下输入reboot重启设备,重启完成后确认无误,输入指令提交更改
root@ni-n3xx-serial:~# reboot
root@ni-n3xx-serial:~# mender -commit
2.2 N310 FPGA更新
-2.2.1 主机模式下更新方法
首先确认对应的FPGA镜像已经下载,/usr/local/share/uhd/images目录下有对应文件,可以采用sudo uhd_images_downloader -v 指令自动下载(我在采用这种方式下载时遇到了uhd 版本与FPGA版本“noc_shell”不匹配的问题,后来手动下载对应镜像到指定目录后才解决问题),也可以手动下载的镜像包解压后拷贝到/usr/local/share/uhd/images目录下,在uhd_find_devices识别设备,获得设备的mmgt_addr为192.168.205 后,运行以下指令:
$ uhd_image_loader --args "type=n3xx,addr=192.168.1.205,fpga=HG"
更新完后运行uhd_find_devices,可以识别到设备,注意此时除了设备地址192.168.1.205外,连接上主机的SFP1的端口的默认地址192.168.20.2也可以识别。(将SFP1连接到PC,并且编辑连接设置主机与n310的SFP1接口ip处于同一网段,MTU设置为8000)
运行uhd_usrp_probe
-2.2.1 ARM CPU模式下更新方法
参考第一节连接到ARM CPU后,执行以下命令加载镜像
root@ni-n3xx-serial:~# uhd_image_loader --args "type=n3xx,fpga=HG"
完结~
后记
-后续使用n310只需将设备与PC连接完成后,按顺序执行以下步骤即可:
首先运行uhd_find_devices看能否识别设备与端口地址,接着uhd_usrp_probe如果可以识别即可以直接使用。
如果不行则依次再终端命令行输入:
$ sudo dnsmasq -i enp4s0 --dhcp-range=192.168.1.151,192.168.1.254 --except-interface=lo --bind-dynamic --no-daemon
$ uhd_image_loader --args "type=n3xx,addr=192.168.1.187,fpga=HG"
注意addr的值根据上一步所分配的ip可能会有所变动。再次运行uhd_find_devices和uhd_usrp_probe。
参考文献 https://kb.ettus.com/N300/N310_Getting_Started_Guides
-
n310硬件连接 usrp_通用软件无线电平台 USRP N310
2020-12-23 15:24:55原理结构图 主板原理结构图 射频前端原理结构图 产品图片 USRP N310 USRP N310套件 兼容产品配件型号图片配件名称查看 OctoClock-G CDA-2990时钟源OctoClock-G CDA-2990 OctoClock CDA-2990时钟源OctoClock CDA-...主要特点可靠和容错性部署
远程管理能力
支持独立(嵌入式)或基于主机(网络)操作
10MHz-6GHz的频率覆盖
每个通道高达100M的瞬时带宽
同时支持4发4收
收发滤波器组
16 bit ADC, 14 bit DAC
可配置采样率:122.88, 125, and 153.6 MS/s
内置Xilinx Zynq-7100 SoC FPGA
双核ARM Cortex-A9 CPU 800 MHz
双SPF+端口(1 Gigabit Ethernet, 10 Gigabit Ethernet, Aurora)
支持外接Clock reference 和PPS time reference
支持外接RX, TX LO 端口输入
内置GPSDO
1 Type A USB host port
1 micro-USB port (serial console, JTAG)
看门狗定时器
可信平台模块V1.2
内置定制化linux
UHD3.11.0或者更新版本支持
RFNoC FPGA开发框架
Xilinx Vivado 2017.4 Design Suite (license not included)
支持GNU Radio
产品参数
产品描述
USRP N310是一种网络的软件定义无线电(SDR),它提供了部署大规模的可靠的和容错性的分布式无线系统。USRP N310通过引入远程执行任务的能力简化了对SDR系统的控制和管理,如更新软件,重新启动,工厂复位、自检,主机/ ARM调试以及监控系统运行。
USRP N310是目前SDR市场上通道数量最为密集的产品之一,提供4发4收的通道在一个0.5U的高度内。射频前端采用两个ad9371收发器,这是一种最新的模拟设备射频技术。每个通道提供高达100 MHz的瞬时带宽,并涵盖了从10兆赫到6 GHz的扩展频率范围。
开源的USRP硬件驱动(UHD)API和FPGA RFNoC的开发框架,减少了软件开发的工作量和各种工业标准的工具的使用。用户可以快速的进行原型机验证和可靠地部署各种SDR应用,如无线测试系统的设计,频谱监测等。请注意,USRP N310并非设计用于快速调谐频率的相关应用。
基带处理器
USRP N310基带处理器采用Xilinx公司的zynq-7100 SOC,他提供了丰富的可编程的FPGA用于实时性要求高的和低延迟处理以及双核心的ARM CPU单机操作。用户可以部署应用程序在预装的Linux嵌入式操作系统上,或者采用高速接口如千兆以太网主机,10千兆以太网。
同步
USRP N310拥有灵活的参考时钟设计架构,支持外接PPS,clock reference的时间参考,外部LO输入,以及gpsdo,这有助于高通道数的MIMO系统的实现。
可信平台模块(TPM)
USRP N310包括可信平台模块,例如,实现文件加密的安全功能和安全启动。由于产品限制的原因,TPM(可信平台模块)在一些国家和地区是不销售的,USRP N310有两种型号:
TPM版本(PN 785067-01)
非TPM版本(PN 786465-01)
只有USRP N310非TPM版本将在中国和香港销售。
原理结构图
主板原理结构图
射频前端原理结构图
产品图片
USRP N310
USRP N310套件
兼容产品配件型号图片配件名称查看
OctoClock-G CDA-2990
时钟源OctoClock-G CDA-2990
OctoClock CDA-2990
时钟源OctoClock CDA-2990
台式机万兆网卡
台式机万兆网卡
10 Gigabit Ethernet Cable w/ SFP+ Terminations
万兆连接线
USRP N3xx Rack Mount Accessory
USRP N3xx机架固定附件
-
n310硬件连接 usrp_usrp n310测试总结---环境搭建篇2-uhd-dpdk干货
2021-01-14 01:12:52一、UHD驱动安装(ubuntu 18.04)官方指导:http://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux严格按照文档一步步来,这里不详细说明。sudo apt-get ...在网络搜索使用uhd-dpdk的人很少,特总结一些自己使用点滴,希望有用!
一、UHD驱动安装(ubuntu 18.04)
官方指导:http://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux
严格按照文档一步步来,这里不详细说明。
sudo apt-get update
sudo apt-get -y install git swig cmake doxygen build-essential libboost-all-dev libtool libusb-1.0-0 libusb-1.0-0-dev libudev-dev libncurses5-dev libfftw3-bin libfftw3-dev libfftw3-doc libcppunit-1.14-0 libcppunit-dev libcppunit-doc ncurses-bin cpufrequtils python-numpy python-numpy-doc python-numpy-dbg python-scipy python-docutils qt4-bin-dbg qt4-default qt4-doc libqt4-dev libqt4-dev-bin python-qt4 python-qt4-dbg python-qt4-dev python-qt4-doc python-qt4-doc libqwt6abi1 libfftw3-bin libfftw3-dev libfftw3-doc ncurses-bin libncurses5 libncurses5-dev libncurses5-dbg libfontconfig1-dev libxrender-dev libpulse-dev swig g++ automake autoconf libtool python-dev libfftw3-dev libcppunit-dev libboost-all-dev libusb-dev libusb-1.0-0-dev fort77 libsdl1.2-dev python-wxgtk3.0 git libqt4-dev python-numpy ccache python-opengl libgsl-dev python-cheetah python-mako python-lxml doxygen qt4-default qt4-dev-tools libusb-1.0-0-dev libqwtplot3d-qt5-dev pyqt4-dev-tools python-qwt5-qt4 cmake git wget libxi-dev gtk2-engines-pixbuf r-base-dev python-tk liborc-0.4-0 liborc-0.4-dev libasound2-dev python-gtk2 libzmq3-dev libzmq5 python-requests python-sphinx libcomedi-dev python-zmq libqwt-dev libqwt6abi1 python-six libgps-dev libgps23 gpsd gpsd-clients python-gps python-setuptools
cd $HOME
mkdir workarea-uhd
cd workarea-uhd
git clone https://github.com/EttusResearch/uhd
cd uhd
git tag -l
git checkout v3.14.1.1
cd host
mkdir build
cd build
cmake ../
make
sudo make test
sudo make install
sudo ldconfig
$HOME/.bashrc file:
export LD_LIBRARY_PATH=/usr/local/lib
测试:uhd_find_devices uhd_usrp_probe
$ sudo uhd_images_downloader或者从已有系统中拷贝:
从本地拷至远程
scp -r /usr/local/share/uhd/images [email protected]:/usr/local/share/uhd
从远程拷至本地
scp -r [email protected]:/usr/local/share/uhd/images .
scp -r [email protected]:/home/workarea-uhd/uhd .
解决问题:EnvironmentError: OSError: error in pthread_setschedparam
sudo groupadd usrp
sudo usermod -aG usrp $USER
Then add the line below to end of the file /etc/security/limits.conf:
[email protected] - rtprio 99
二、关于n310的使用和连接方法:
官方文档:https://kb.ettus.com/USRP_N300/N310/N320/N321_Getting_Started_Guide
更详细的USRP N310 配置教程:https://blog.csdn.net/qq_34998254/article/details/88399065
通过ssh登陆n310的arm系统:
将网线插到n310的RJ45端口(上面的1G网线口),另一端可以直接接到一个路由器或者交换机上;
插上n310里配件带的串口Serial到一个pc上,执行ip a可以看到分配给n310的地址;下次直接ssh登陆此ip即可;如果是设备环境都是已经配置好的,可以使用uhd_find_devices直接查看下ip地址。
如果没有路由器或交换机可用,可以接到服务器的网口上,配置服务器此端口地址为:192.168.2.254,然后执行:
dnsmasq -i enp7s0f1 --dhcp-range=192.168.2.151,192.168.2.254 --except-interface=lo --bind-dynamic --no-daemon
如果n310本来用着好好的,突然发现不了设备了,再执行以下上面的命令。
n310 RJ45 1G端口ssh,如果没有具有dhcp功能的路由器或交换机,可以使用linux server的dnsmasq模拟一个。
将n310的 RJ45端口连到服务器的enp7s0f1网卡,配置enp7s0f1端口如下:注:此端口的ip地址和要分配给n310的地址需要同一网段
vim /etc/network/interfaces
auto enp7s0f1
iface enp7s0f1 inet static
address 192.168.2.254
netmask 255.255.255.0
MTU: 8000-----------一定要设为8000
ifup enp7s0f1
dnsmasq -i enp7s0f1 --dhcp-range=192.168.2.151,192.168.2.254 --except-interface=lo --bind-dynamic --no-daemon
通过uhd_find_devices可以看到分配给n310的ip地址
--------------------------------------------------
-- UHD Device 1
--------------------------------------------------
Device Address:
serial: 316645F
claimed: False
mgmt_addr: 192.168.2.242
product: n310
reachable: No
type: n3xx
采样模式:
1Gb Streaming SFP Port 0:将子带光口转电口适配器插到SFP0上,用网线同服务器相连,设置服务器对应端口地址为192.168.10.1,mtu设置为1500(usrp n310的镜像使用HG)
10Gb Streaming SFP Port 1:使用光纤将sfp1和服务器相连,设置服务器对应端口地址为192.168.20.1,mtu设置为8000(usrp n310的镜像使用HG或XG)
Dual 10Gb Streaming SFP Ports 0/1:使用光纤将sfp1 sfp0和服务器相连,mtu设置为8000(usrp n310的镜像使用XG)
服务端mtu的修改方法见环境搭建篇1;
usrp n310 mtu设置位置见下,重启生效,将生成的sfp0.network~转换文件及时删除。重启后要ifconfig确认下。
# ls /etc/systemd/network/
eth0.network sfp0.network sfp1.network
如果是使用dpdk的话:mtu要设置为9000.
fpga镜像加载:
uhd_image_loader --args "type=n3xx,addr=192.168.2.230,fpga=XG"
uhd_image_loader --args "type=n3xx,fpga=HG"
三、srslte安装:
参考指导:https://blog.csdn.net/xrh003/article/details/79461114
ubuntu 18.04依赖库:
sudo apt-get install cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libboost-thread-dev libconfig++-dev libsctp-dev
sudo apt-get install libboost-system-dev libboost-test-dev libboost-thread-dev libqwt-dev libqt4-dev
git clone https://github.com/suttonpd/srsgui.git
cd srsGUI
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig
git clone https://github.com/srsLTE/srsLTE
mkdir build
cd build
cmake ../
make
make test
sudo make install
sudo ldconfig
运行:
sudo srsepc epc.conf
sudo srsenb enb.conf
sudo srsue ue.conf
可以使用srslte/srsLTE/build/lib/examples目录下的例子进行一些测试
四:dpdk的环境搭建
参考文档:
https://files.ettus.com/manual/page_dpdk.html
https://doc.dpdk.org/guides-17.11/linux_gsg/linux_drivers.html#binding-and-unbinding-network-ports-to-from-the-kernel-modules
网上也有很多dpdk的配置文档,可以作为补充指导http://www.pianshen.com/article/635691779/
1、18.04可以使用apt install dpdk dpdk-dev直接安装,不需要下代码自己编译。
2、先使用ifconfig记录下两个光口的MAC地址,然后将两个端口down掉ifdown ens3f0
73:
ens3f0: flags=4163mtu 8000
inet 192.168.20.1 netmask 255.255.255.0 broadcast 192.168.20.255
inet6 fe80::5639:dfff:fed3:f416 prefixlen 64 scopeid 0x20
ether 54:39:df:d3:f4:16 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6 bytes 516 (516.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens3f1: flags=4163mtu 8000
inet 192.168.10.1 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::5639:dfff:fed3:f417 prefixlen 64 scopeid 0x20
ether 54:39:df:d3:f4:17 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5 bytes 426 (426.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
start tx_first (""|10)
71:
ens3f0: flags=4098mtu 1500
ether 74:a0:63:f2:96:e7 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens3f1: flags=4098mtu 1500
ether 74:a0:63:f2:96:e8 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
74
3、dpdk环境配置
显示是否支持VT-d或VT-d是否成功打开
dmesg | grep -e DMAR -e IOMMU
若出现:IOMMU not found 或 不知如何在BIOS中enable00 VX-d,可参考博客:http://www.cnblogs.com/vancasola/p/9360837.html
检查 VT-d 在kernel中是否enabled, 运行:
$ cat /proc/cmdline | grep iommu=pt
$ cat /proc/cmdline | grep intel_iommu=on
如果没有显示,需要进行如下配置:
此步修改系统文件,容易误操作导致系统错误,修改前注意备份!
进入配置文件:
nano /etc/default/grub
GRUB_CMDLINE_LINUX="quiet splash iommu=pt intel_iommu=on"//添加配置信息
更新配置信息并重启
default_hugepagesz=1G hugepagesz=1G hugepages=8
10.设置大内存页,设置以后就可以不必每次运行程序的时候都执行setup.sh进行hugepage设置了。
查看cpu是否支持1G大内存页:
cat /proc/cpuinfo | grep pdpe1gb
如果有显示,则支持1G大内存页。
默认支持2M内存页,执行下面命令
cat /proc/cpuinfo |grep pse
如果有显示,则支持2M内存页
隔离分配给dpdk的cpu:
GRUB_CMDLINE_LINUX="isolcpus=1,3"
验证方法:(1)cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.15.0-66-lowlatency root=UUID=ec9d0961-3c21-43c3-904d-91c4f0e1fde4 ro iommu=pt intel_iommu=on default_hugepagesz=1G hugepagesz=1G hugepages=8 isolcpus=0,1,2,3,4 quiet intel_pstate=disable
(2)可以查看当前进程的cpu affinity: $taskset -cp $$ 是否有已经被隔离的cpu
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo reboot
sudo ./testpmd -l 0-3 -n 4 -- -i --portmask=0x3 --nb-cores=2
端口所在的socket要和指定的core所在的socket相同:
查看端口所在的socket:
# List all the NICs with PCI address and device IDs.
lspci -nn | grep Eth
#Check the PCI device related numa node id:
cat /sys/bus/pci/devices/0000\:xx\:00.x/numa_node
4、绑定端口:
通过 dpdk-devbind -s查看端口状态
dpdk-devbind -b vfio-pci ens3f0
dpdk-devbind -b vfio-pci ens3f1
去绑定可以使用:
dpdk-devbind -b ixgbe 0000:01:00.1
dpdk-devbind -b ixgbe 0000:01:00.0
n310的端口mtu要设置为9000.
5.搞完之后建议按照下面网址检查一遍配置:
https://doc.dpdk.org/guides-17.11/linux_gsg/nic_perf_intel_platform.html#
6.新建一个uhd的配置文件如下:
system:/etc/uhd/uhd.conf
user:/root/.uhd/uhd.conf
将https://files.ettus.com/manual/page_dpdk.html给出的配置拷贝到文件中,修改上面的mac地址为实际mac地址。
uhd_dpdk_eal_init
查看dpdk的配置选项,可根据这个函数设置到uhd.conf文件中
可以修改vim /etc/dpdk/interfaces 文件加入对应的端口,就不用每次重启都重新绑端口了
pci 0000:01:00.1 vfio-pci
pci 0000:01:00:0 vfio-pci
有时候重启帮端口可能会不成功,最后使用dpdk-devbind -s确认下
7、修改cpu的工作频率
https://www.cnblogs.com/276815076/p/5434295.html
修改为performance,以期最佳性能。
五:关于gnuradio:
比较好的指导文档:
Gnuradio培训:http://ettus.com.cn/peixun/27/
六:使用过程中问题总结:
1、本来环境是ok的,突然找不到设备,再执行下:
dnsmasq -i enp7s0f1 --dhcp-range=192.168.2.151,192.168.2.254 --except-interface=lo --bind-dynamic --no-daemon
2、报错:RuntimeError: RuntimeError: Error during RPC call to `claim'. Error message: Someone tried to claim this device again
https:[email protected]/msg07599.html
登陆到n310的arm,执行systemctl restart usrp-hwd.service
然后重新下载镜像ok
uhd_image_loader --args "type=n3xx,fpga=XG"
uhd_image_loader --args "type=n3xx,fpga=HG"
uhd_image_loader --args "type=n3xx,addr=192.168.2.230,fpga=XG"
3、修改linux为performance后,服务器重启后发现cpufreq-info查看发现不是此模式,需要将cpufreq重启一下
/etc/init.d/cpufrequtils restart
-
n310硬件连接 usrp_Ettus重磅推出最强大的SDR--USRP N310
2020-12-23 15:24:57N310,这是Ettus近3年来的开发的最重要的新产品。单台设备就支持4收4发;支持多台设备时钟同步组成大规模MIMO系统;内置GPSDO;16bitADC使得设备获得更大的接收动态范围;内置双核ARMA9核心,可以脱离计算机独立工作... -
USRP N310 配置教程
2019-03-12 11:36:39因为OAI官网发布的5G-NR分支需要用到 USRP N310,在使用N310的时候因为中文资料较少遇到了一些问题,参考官网的资料以及自己的经验,总结了N310的配置流程。 -
n310硬件连接 usrp_RFNoC
2020-12-23 15:24:47目前的FPGA,像Xilinx Kintex-7和Zynq-7000已经应用在第三代的USRP SDR产品系列.这些FPGA有着丰富的资源和优秀的计算能力,但是直接进行FPGA的开发却有着一定的难度。RFNoC的目的就是让用户在没有非常丰富的FPGA开发... -
USRP-LW N310
2019-02-22 10:25:24产品综述 USRP-LW N310是一种网络的...USRP-LW N310通过引入远程执行任务的能力简化了对SDR系统的控制和管理,如更新软件,重新启动,工厂复位、自检,主机/ ARM调试以及监控系统运行。 USRP-LW ... -
USRP N310 and E320 SDRs introduction
2018-03-07 08:53:35USUSRP N310 and E320 SDRs introduction RP N310 and E320 SDRs introduction -
USRP N310的C++接收程序
2019-05-18 20:16:57USRP N310的C++接收程序安装UHDboost库安装找到例程编译例程修改参数 安装UHD 我的系统是Ubuntu18.04,终端输入以下命令 git clone git://github.com/EttusResearch/uhd.git boost库安装 参考官网资料:... -
Could srsLTE work with USRP N310??
2020-12-02 20:14:13<p>I found that in ReadMe, srsLTE was tested with USRP B210 and USRP X310, but N310 is not tested yet, right?? How to install it in USRP N310? N310 support 2 mode: network mode and embedded mode, ... -
USRP N310,Gnuradio初探
2020-09-25 20:22:20实验平台 硬件:笔记本2台,USRP N310两台,及辅助天线等 软件:在Ubuntu系统下安装Gnuradio3.7 实验前提,USRP能与电脑建立收发通信 USRP-OFDM发送端框架 利用Socket PDU模块与外部程序建立TCP连接,通过外部... -
USRP N310+OAI 5G NR分支编译运行
2019-03-12 15:35:58OAI 新发布的5g NR分支的编译运行,总体上同4G一致,只是编译运行指令有所变化,而且USRP要求X310或N310版本,在此采用的是USRPN310。 第一部分参考博客 ... -
5G与USRP-LW N310
2019-02-22 10:21:41公司网站:www.luowave.com,欢迎登陆浏览更多产品信息 -
usrp n310测试总结---环境搭建篇1-linux使用经验
2019-11-04 16:48:18n310环境搭建前期准备:linux系统相关 1、刷机后没有root账号 设定一个root用户的密码:sudo passwd root 切换到root用户:su root 2、无法通过ssh登陆 安装ssh: sudo apt-get install openssh-client sudo apt-... -
usrp n310测试总结---环境搭建篇2-uhd-dpdk干货
2019-11-04 16:52:42在网络搜索使用uhd-dpdk的人很少,特...官方指导:http://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux 严格按照文档一步步来,这里不详细说明。 sudo apt... -
usrp n310测试总结---测试结果篇(不仅仅是测试结果,还有方法哦)
2019-11-04 17:03:321、使用usrp的收发测试:usrp_txrx.c b210:2.4g 采样速率默认的7.68M ok n310:2.4g 采样速率默认的7.68M ok 3.5g 采样速率默认的7.68M ok n310在3.5g时收到的信号幅度大于2.4g,因为天线为3.5Ghz 2、使用uhd... -
OAI 5G NR搭建gNB和UE(更新中)
2020-07-20 12:15:35USRP N310 安装UHD驱动[1] we will clone the UHD repository on GitHub, check out a specific tagged release of the repository, and then build and install from source code. First, make a folder in the h