2. 快速开始
2.1. 准备工作
在使用RDK X3开发板前,需要做下述准备工作:
供电
RDK X3开发板通过USB Type C接口供电,需要使用支持5V 3A的电源适配器为开发板供电,推荐使用基础配件清单中推荐的电源适配器型号。
注意,请不要使用电脑USB接口为开发板供电,否则会因供电不足造成开发板异常断电、反复重启等异常情况。
存储
RDK X3开发板采用Micro SD存储卡作为系统启动介质,推荐至少8GB容量的存储卡,以便满足Ubuntu系统、应用功能软件对存储空间的需求。
显示
RDK X3开发板支持HDMI显示接口,通过HDMI线缆连接开发板和显示器,支持图形化桌面显示。
网络连接
RDK X3开发板支持以太网、Wi-Fi两种网络接口,用户可通过任意接口实现网络连接功能。
常见问题
用户首次使用开发板时的常见问题如下:
上电不开机:请确保使用支持5V/3A的适配器供电;请确保开发板使用烧录过Ubuntu镜像的Micro SD存储卡
USB Host接口无反应:请确保开发板Micro USB接口没有接入数据线
使用中热插拔存储卡:开发板不支持热插拔Micro SD存储卡,如发生误操作请重启开发板
注意事项
禁止带电时拔插除USB、HDMI、网线之外的任何设备
RDK X3的 Type C USB接口仅用作供电
更多问题的处理,可以查阅 常见问题 章节,同时可以访问 地平线开发者官方论坛 获得帮助。
2.2. 安装系统
开发板支持Ubuntu 20.04 Desktop系统版本,支持图形化交互。
Ubuntu Desktop版本系统启动完成后,会通过HDMI接口在显示器上输出系统桌面,如下图:
2.2.1. 镜像下载
下载Ubuntu镜像压缩包,解压出Ubuntu系统镜像文件:ubuntu-preinstalled-desktop-arm64.img
,1.0版本的系统镜像名为system_sdcard.img
。
版本说明:
2.0版本:基于RDK Linux开源代码包制作,支持RDK X3派、X3模组等全系列硬件
1.0版本:旭日X3派历史版本,仅支持旭日X3派硬件
点击 下载镜像 进入版本选择页面,选择对应版本目录,进入文件下载页。以下载2.0.0版本的系统镜像为例:
2.2.2. 烧录系统到Micro SD卡
在烧录Ubuntu系统镜像前,用户需要做如下准备:
准备至少8GB容量的Micro SD卡
SD 读卡器
下载镜像烧录工具balenaEtcher,下载链接:https://www.balena.io/etcher/
balenaEtcher是一款支持Windows/Mac/Linux等多平台的PC端启动盘制作工具,制作SD启动卡流程如下:
打开balenaEtcher工具,点击
Flash frome file
按钮,选择解压出来的ubuntu-preinstalled-desktop-arm64.img
文件作为烧录镜像点击
Select target
按钮,选择对应的Micro SD存储卡作为目标存储设备点击
Flash
按钮开始烧录,待工具提示Flash Complete
时,表示镜像烧录完成,您可以关闭balenaEtcher工具并取出存储卡
如Micro SD存储卡烧录过程发生中断,用户需要按照上述步骤重新进行。
2.2.3. 启动系统
首先保持开发板断电,然后将制作好的存储卡插入开发板的Micro SD卡槽,并通过HDMI线缆连接开发板与显示器,最后给开发板上电。用户可通过指示灯判断开发板状态,指示灯说明如下:
红色指示灯:点亮代表硬件上电正常
绿色指示灯:点亮代表系统启动中,熄灭或闪烁代表系统启动完成
系统首次启动时会进行默认环境配置,整个过程持续45秒左右,配置结束后会在显示器输出Ubuntu系统桌面。
如果开发板上电后长时间没有显示输出(2分钟以上),说明开发板启动异常。此时用户可通过指示灯确认系统状态,方法如下:
绿灯常亮:说明系统启动失败,可检查使用的电源适配器是否满足5V3A的要求,可尝试重新制作Micro SD卡系统镜像
绿灯熄灭或闪烁:说明系统启动成功,但显示服务启动失败,请确认连接的显示器符合支持列表规格
2.3. 远程登录
本章节旨在向需要通过个人电脑(PC)远程访问开发板的用户介绍如何通过串口、网络(VNC、SSH)方式进行远程登录。
注意,通过网络方式远程登录前,开发板需要通过有线以太网或者无线WiFi方式接入网络,配置好开发板IP地址。对于两种连接方式下的IP地址信息可参考如下描述:
有线以太网:开发板默认采用静态IP模式,IP地址为
192.168.1.10
,掩码255.255.255.0
,网关192.168.1.1
无线WiFi:开发板IP地址一般由路由器分配,可在设备命令行中通过
ifconfig
命令查看wlan0网络的IP地址
2.3.1. 串口登录
在使用串口登录前,需要确认开发板串口线跟电脑正确连接,连接方法可参考调试串口章节。串口登录需要借助PC终端工具,目前常用的工具有Putty
、MobaXterm
等,用户可根据自身使用习惯来选择。不同工具的端口配置流程基本类似,下面以MobaXterm
为例,介绍新建串口连接过程:
当串口USB转接板首次插入电脑时,需要安装串口驱动。驱动程序可从资源中心的工具子栏目获取。驱动安装完成后,设备管理器可正常识别串口板端口,如下图:
打开
MobaXterm
工具,点击Session
,然后选择Serial
配置端口号,例如
COM3
,实际使用的串口号以PC识别到的串口号为准设置串口配置参数,如下:
波特率(Baud rate):921600
数据位(Data bits):8
奇偶校验(Parity):None
停止位(Stop bits):1
流控(Flow Control):无
点击
OK
,输入用户名:root
、密码:root
登录设备
此时,可使用ifconfig
命令查询开发板IP地址,其中eth0、wlan0分别代表有线、无线网络:
root@ubuntu:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::211:22ff:feaa:7637 prefixlen 64 scopeid 0x20<link>
ether 00:11:22:aa:76:37 txqueuelen 1000 (Ethernet)
RX packets 767 bytes 54006 (54.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5766 bytes 246466 (246.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 43 base 0xa000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 3847 bytes 339115 (339.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3847 bytes 339115 (339.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 08:e9:f6:ae:f8:8a 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
2.3.2. 网络状态确认
在使用远程登录前,需要确保电脑、开发板网络通信正常,如无法ping
通,需按如下步骤进行确认:
确认开发板、电脑IP地址配置,一般前三段需要是一样的,例如开发板:
192.168.1.10
电脑:192.168.1.100
确认开发板、电脑的子网掩码、网关配置是否一致
确认电脑网络防火墙是否处于关闭状态
开发板有线以太网默认采用静态IP模式,IP地址为192.168.1.10
。对于开发板、电脑网络直连的情况,只需要将电脑配置为静态IP,保证跟开发板处于同一网段即可。以WIN10系统为例,电脑静态IP修改方法如下:
在网络连接中找到对应的以太网设备并双击打开
找到Internet协议版本4选项并双击打开
在下图红框位置填入对应的网络参数,点击确定
如需将开发板有线网络配置为动态获取DHCP模式,可参考有线网络章节进行配置。
2.3.3. VNC登录
本章节面向使用Ubuntu Desktop系统版本的用户,介绍如何通过VNC Viewer
实现远程桌面登录功能。VNC Viewer
是一个图形桌面共享软件,可在电脑上实现设备远程登录和控制桌面。该软件可以通过电脑显示器预览开发板系统桌面,并使用电脑的鼠标、键盘进行远程操作。用户通过VNC Viewer操作,可以获得跟开发板本地操作相同的效果,下载链接VNC Viewer。
连接开发板
目前VNC支持直接、云端两种连接方式,用户可以根据自身情况选择。本文推荐使用直接连接方式,连接步骤如下:
输入设备ip地址,例如:192.168.1.10
输入IP地址后回车,弹出链接未加密的提示,点击
Continue
输入密码
sunrise
,勾选Remember password
, 点击OK
连接
2.3.4. SSH登录
除了VNC登录远程桌面外,还可以通过SSH连接登录开发板。下面分别介绍终端软件、终端命令行两种方法的创建步骤。
终端软件
目前常用终端工具有Putty
、MobaXterm
等,用户可根据自身使用习惯来选择。不同工具的端口配置流程基本类似,下面以MobaXterm
为例,介绍新建SSH连接过程:
打开
MobaXterm
工具,点击Session
,然后选择SSH
输入开发板IP地址,例如
192.168.1.10
选中
specify username
,输入sunrise
点击OK后,输入用户名(sunrise)、密码(sunrise)即可完成登录
电脑命令行
用户也可通过命令行方式进行SSH登录,步骤如下:
打开终端窗口,输入SSH登录命令,例如
ssh sunrise@192.168.1.10
弹出连接确认提示,输入YES
输入密码(sunrise)即可完成登录
2.4. 硬件接口说明
2.4.1. 接口总览
RDK X3开发板提供了网口、USB、摄像头、LCD、HDMI、40PIN等功能接口,方便用户进行图像多媒体、深度学习算法等应用的开发和测试。开发板接口布局如下:
序号 |
功能 |
序号 |
功能 |
序号 |
功能 |
---|---|---|---|---|---|
1 | USB Type C 供电接口 | 6 | USB 3.0 Type A接口 | 11 | Wi-Fi天线接口 |
2 | MIPI CSI 摄像头接口 | 7 | 千兆以太网口 | 12 | TF卡接口(底面) |
3 | 调试串口 | 8 | 40PIN接口 | 13 | MIPI 接口的LCD屏接口 |
4 | Micro USB 2.0 接口 | 9 | HDMI接口 | 14 | 触摸屏接口 |
5 | USB 2.0 Type A接口两路 | 10 | 电源和状态LED指示灯 |
2.4.2. 电源接口
开发板提供一路USB Type C接口(接口1),作为供电接口,需要使用支持5V/3A的电源适配器为开发板供电。将电源适配器接入开发板后,开发板红色电源指示灯亮起,说明开发板供电正常。
注意,请不要使用电脑USB接口为开发板供电,否则会因供电不足造成开发板异常断电、反复重启等情况。
2.4.3. 调试串口
开发板提供一路调试串口(接口3),以实现串口登录、调试功能。电脑串口工具的参数配置如下:
波特率(Baud rate):921600
数据位(Data bits):8
奇偶校验(Parity):None
停止位(Stop bits):1
流控(Flow Control):无
串口连接时,需要将杜邦线接入开发板接口3,串口USB转接板接入电脑。连接完成后如下图:
2.4.4. 有线网口
开发板提供一路千兆以太网接口(接口7),支持1000BASE-T、100BASE-T标准,默认采用静态IP模式,IP地址192.168.1.10
。如需确认开发板IP地址,可通过串口登录设备,并用ifconfig
命令进行查看 eth0
网口的配置:
sunrise@ubuntu:/# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::211:22ff:fe6f:de17 prefixlen 64 scopeid 0x20<link>
ether 00:11:22:6f:de:17 txqueuelen 1000 (Ethernet)
RX packets 112 bytes 7327 (7.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 197 bytes 8678 (8.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 39 base 0xc000
开发板插入网线后,以太网驱动会建立连接,如果系统有如下打印,说明网线连接正常:
[13293.952661] st_gmac a5014000.ethernet eth0: Link is Down
[13295.062996] st_gmac a5014000.ethernet: Link is Up - 1000/Full
[13296.000750] st_gmac a5014000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
2.4.5. HDMI接口
开发板提供一路HDMI(接口9)显示接口,最高支持1080P分辨率。开发板通过HDMI接口在显示器输出Ubuntu系统桌面(Ubuntu Server版本显示logo图标)。此外,HDMI接口还支持实时显示摄像头、网络流画面功能。
目前HDMI接口支持的显示分辨率如下:
1920x1080
1280x720
1024x600
800x480
2.4.6. USB接口
由于X3芯片只提供一路USB接口,开发板通过硬件电路实现了多路USB接口扩展,满足用户对多路USB设备接入的需求,接口描述如下:
接口类型 | 接口序号 | 接口数量 | 接口描述 |
---|---|---|---|
Micro USB 2.0 | 接口4 | 1路 | USB Device模式,用于连接主机实现ADB、Fastboot、UVC等功能 |
USB 2.0 Type A | 接口5 | 2路 | USB Host模式,用于接入USB 2.0外设 |
USB 3.0 Type A | 接口6 | 1路 | USB Host模式,用于接入USB 3.0外设 |
USB主从模式切换完全由硬件电路实现,用户只需按照上表的逻辑连接设备即可。
开发板USB Host、Device功能互斥,Device接口接入设备后,Host接口会自动失效。
接入U盘
开发板USB Type A接口(接口5和6),支持U盘功能,可自动检测U盘接入并挂载,默认挂载目录为/media/sda1
。用户可通过touch命令确认U盘工作正常,如下:
sunrise@ubuntu:/media/sda1$ sudo touch test
[sudo] password for sunrise:
sunrise@ubuntu:/media/sda1$ ls -l test
-rwxr-xr-x 1 root root 0 Apr 30 21:19 test
sunrise@ubuntu:/media/sda1$
接入USB串口转接板
开发板USB Type A接口(接口5和6),支持USB串口转接板功能,可自动检测USB串口转接板接入并创建设备节点/dev/ttyUSB*
或者 /dev/ttyACM*
(星号代表0开始的数字)。用户可参考 使用串口 章节对串口进行使用。
2.4.7. USB摄像头
开发板USB Type A接口(接口5和6),支持USB摄像头功能,可自动检测USB摄像头接入并创建设备节点/dev/video8
。用户可通过v4l2
命令确认USB摄像头工作正常,如下:
sunrise@ubuntu:/media/sda1$ sudo v4l2-ctl -d /dev/video8 --all
Driver Info:
Driver name : uvcvideo
Card type : FHD Camera: FHD Camera
Bus info : usb-xhci-hcd.0.auto-1.2
Driver version : 4.14.87
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Media Driver Info:
Driver name : uvcvideo
Model : FHD Camera: FHD Camera
Serial : 12345
Bus info : 1.2
Media version : 4.14.87
Hardware revision: 0x00000020 (32)
Driver version : 4.14.87
Interface Info:
ID : 0x03000002
Type : V4L Video
Entity Info:
ID : 0x00000001 (1)
Name : FHD Camera: FHD Camera
Function : V4L2 I/O
Pad 0x01000004 : Sink
Link 0x0200000a: from remote pad 0x1000007 of entity 'Processing 2': Data, Enabled, Immutable
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
Width/Height : 1920/1080
Pixel Format : 'MJPG' (Motion-JPEG)
Field : None
Bytes per Line : 0
Size Image : 4147200
Colorspace : Default
Transfer Function : Default (maps to Rec. 709)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
Flags :
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 1920, Height 1080
Default : Left 0, Top 0, Width 1920, Height 1080
Pixel Aspect: 1/1
Selection Video Capture: crop_default, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1920, Height 1080, Flags:
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 30.000 (30/1)
Read buffers : 0
2.4.8. MIPI摄像头
开发板提供1路MIPI CSI接口(接口2),可实现MIPI摄像头的接入。目前开发板适配了多种规格的摄像头模组,模组型号、规格如下:
序号 | Sensor | 分辨率 | FOV | I2C 设备地址 |
---|---|---|---|---|
1 | GC4663 | 400W | H:104 V:70 D:113 | 0x29 |
2 | JXF37 | 200W | H:62 V:37 D:68 | 0x40 |
3 | IMX219 | 800W | H:62 V:37 D:68 | 0x10 |
4 | IMX477 | 1200W | H:62 V:37 D:68 | 0x1a |
5 | OV5647 | 500W | H:62 V:37 D:68 | 0x36 |
摄像头模组通过FPC排线跟开发板连接,注意排线两端蓝面向上插入连接器。
重要提示:严禁在开发板未断电的情况下插拔摄像头,否则非常容易烧坏摄像头模组。
以JXF37摄像头模组为例,安装完成后如下图:
安装完成后,用户可以通过i2cdetect命令确认模组I2C地址能否正常检测到。如检测不到,用户需要检查FPC排线连接是否正常。成功探测到I2C地址时,log打印如下所示:
# 首先使能sensor的24MHz主时钟
sunrise@ubuntu:~# sudo bash -c "echo 1 > /sys/class/vps/mipi_host0/param/snrclk_en"
sunrise@ubuntu:~# sudo bash -c "echo 24000000 > /sys/class/vps/mipi_host0/param/snrclk_freq"
# 执行 i2cdetect 命令探测, 其中显示的 40 即JXF37这颗sensor的i2c设备地址,说明摄像头连接正常
sunrise@ubuntu:~# sudo i2cdetect -y -r 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
2.4.9. Micro SD接口
开发板提供1路Micro SD存储卡接口(接口12)。推荐使用至少8GB容量的存储卡,以便满足Ubuntu操作系统及相关功能包的安装要求。
开发板使用中禁止热插拔TF存储卡,否则会造成系统运行异常,甚至造成存储卡文件系统损坏。
2.4.10. Wi-Fi天线接口
开发板的无线网络支持板载和外置天线两种配置,通常情况下板载天线可以满足使用需求。当开发板安装金属材质外壳后,需要连接外置天线到(接口11),以增强信号强度。
2.4.11. 40PIN
RDK X3开发板提供40PIN标准接口,方便用户进行外围扩展,其中数字IO采用3.3V电平设计。40PIN接口定义如下:
开发板40PIN接口位置提供了丝印网表,方便用户对照操作,PIN1、PIN40位置如下:
40PIN各功能的使用方法请查看 40PIN 功能使用 章节。
2.4.12. 蓝牙
2.4.12.1. 初始化
开发板蓝牙功能默认没有开启,需要执行 /usr/bin/startbt6212.sh
脚本进行初始化,该脚本完成以下工作:
复位蓝牙
创建
messagebus
用户和用户组,dbus-daemon
程序运行时需要使用该用户运行
brcm_patchram_plus
完成蓝牙的驱动加载和固件加载循环检查
/sys/class/bluetooth/hci0
目录是否存在,确认蓝牙驱动已经正常运行出现 Done setting line discpline 表示蓝牙启用成功
执行
hciconfig hci0 up
完成蓝牙的Link Up执行
hciconfig hci0 piscan
进行蓝牙扫描,本步骤可以根据情况去掉
脚本执行成功后的log如下:
此外,用户可以使用命令查询蓝牙进程是否正常,命令如下:
ps ax | grep "/usr/bin/dbus-daemon\|brcm_patchram_plus\|/usr/lib/bluetooth/bluetoothd"`
/usr/bin/dbus-daemon
brcm_patchram_plus
/usr/lib/bluetooth/bluetoothd
2.4.12.2. 配网连接
执行sudo bluetoothctl
进入交互模式下的蓝牙配置界面,出现了类似下图的设备信息表示蓝牙被识别到了,然后用show
来查看蓝牙信息,留意蓝牙的powered
和discoverable
状态。
执行 power on
使能蓝牙,如下图所示:
为了能够使蓝牙被附近的设备发现,需要执行discoverable on
使能蓝牙并打开蓝牙可发现属性,如下图所示:
此时使用手机或者电脑扫描蓝牙就可以发现 ubuntu
这个名称的蓝牙设备:
接下来测试蓝牙的主动扫描功能,在bluetoothctl
的交互界面输入scan on
即可打开主动扫描,它会周期性地打印附近的设备,可以看到已经发现了我的手机设备,scan off
关闭扫描功能并汇总打印扫描到的蓝牙设备:
然后就是和其他蓝牙的配对:
配对命令:
pair [targetMAC]
,输入该命令后,根据提示输入yes
,对端蓝牙设备选择配对
选项完成配对。配对成功后可以使用
trust [targetMAC]
来让下次自动连接
经过以上操作后,蓝牙的扫描、配对的基本功能就完成了,如需使用更多功能,可查阅 BlueZ
的官方帮助说明。
2.4.13. 音频子板
RDK X3的40PIN接口上有两路i2s接口,通过他们可以外接音频codec
,实现音频采集和播放。地平线提供音频模块供开发调试使用,该转接板提供I2S的传输通路,实现音频数据在音频子板与RDK X3单板之间的传输;提供DAC与模拟信号接口,实现外置扬声器的接入;并且提供AEC功能需要的参考信号回传。音频模块设计框图、实物图如下:
2.4.13.1. 接口连接
音频子板对齐插入RDK X3位号J23的40pin插针,二者引脚与引脚均应对齐;实物连接图如下:
2.4.13.2. 驱动初始化
首先上电检查i2c是否可以和ES7210
, ES8156
正常通信,接好单板后,运行 sudo i2cdetect -r -y 0
检查设备接入情况,其中08
是ES8156
的设备地址,40
和42
是 ES7210
的设备地址。
加载驱动音频codec驱动和X3音频框架驱动:
sudo modprobe es7210
sudo modprobe es8156
sudo modprobe hobot-i2s-dma
sudo modprobe hobot-cpudai
sudo modprobe hobot-snd-7210 snd_card=5
成功加载后,运行 ls /dev/snd
命令可以看到已经生成音频控制节点,pcm的录音、播放节点。
2.4.13.3. 录音及播音
采集4通道麦克风的录音5秒钟:
tinycap ./4chn_test.wav -D 0 -d 0 -c 4 -b 16 -r 48000 -p 512 -n 4 -t 5
采集2通道麦克风的录音5秒钟:
tinycap ./2chn_test.wav -D 0 -d 0 -c 2 -b 16 -r 48000 -p 512 -n 4 -t 5
播放2通道的音频(不支持直接播放4通道录音):
tinyplay ./2chn_test.wav -D 0 -d 1
然后使用音箱或者3.5mm接口耳塞接入插口中,试听音频效果。
2.4.13.4. AEC功能使用
若想使用AEC功能,先使用下面录音指令启动录音:
tinycap ./8chn_test.wav -D 0 -d 0 -c 8 -b 16 -r 48000 -p 512 -n 4 -t 5
然后使用下面指令播放测试音频:
tinyplay ./2chn_test.wav -D 0 -d 1
那么保存下来的录音文件即AEC回传的参考信号音频。可通过专业音频软件分析其频谱。
AEC测试分析:
播放频率为1k的测试音频;获取AEC的回采信号,分析如图
回采信号在7-8声道,在播放开始和结束的瞬间有爆破音,其余时间的底噪很低。
2.4.13.5. 桌面系统使用音频子板
当您在使用RDK X3的桌面系统时,此时想要通过浏览器看视频,听音频的时候,可以按照以下方法配置,使能音频播放功能。
安装播放软件
安装smplayer播放软件
sudo apt update
sudo apt-get install smplayer
安装pulseaudio声音服务器
sudo apt install pavucontrol
sudo apt install pulseaudio
完成以上软件安装后,修改如下配置项:
打开文件
/etc/pulse/default.pa
, 找到.ifexists module-udev-detect.so
这一行,修改为如下内容:
### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
#load-module module-udev-detect
load-module module-alsa-source device=hw:0,0
load-module module-alsa-sink device=hw:0,1 mmap=false tsched=0 fragments=2 fragmm
ent_size=960 rate=48000 channels=1 rewind_safeguard=960
.else
### Use the static hardware detection module (for systems that lack udev supportt
)
打开文件
/etc/rc.loacl
, 在文件最后添加音频驱动的加载命令:
modprobe es7210
modprobe es8156
modprobe hobot-i2s-dma
modprobe hobot-cpudai
modprobe hobot-snd-7210 snd_card=5
配置完成后,重启开发板。
注意事项
修改后识别不到设备,通过以下方式在终端执行
# 启动pulseaudio服务
pulseaudio --start
# 显示加载的模块信息
pactl list sinks
检查是否能显示加载到的模块信息。如果不显示任何模块信息,表示pulseaudio服务启动失败。终端执行pulseaudio -vvv,打开debug log检查pulseaudio服务挂在何处。
按照修改项配置修改后,桌面系统依然识别不到设备 模块加载时的device=hw:0,1,依赖当前环境下加载到的设备。 通过命令
aplay -l
确认当前环境真实输出设备对应的节点。例如这里得到的为card 0、device 1。因此对应的device=hw:0,1。那么/etc/pulse/default.pa
配置中的节点信息依据现实情况做改动。
root@ubuntu:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: hobotsnd5 [hobotsnd5], device 1: (null) es8156.0-0008-1 []
Subdevices: 1/1
Subdevice #0: subdevice #0