基于TI AM5728 + Artix-7 (DSP+ARM) 5G通信测试手册

举报
创龙科技 发表于 2022/05/25 10:04:45 2022/05/25
【摘要】 移远RM500Q 5G模块演示5G网络的功能

本文基于 TI AM5728 + Artix-7板卡+ 移远RM500Q 5G模块演示5G网络的功能。

本指导文档适用开发环境:

Windows开发环境:Windows 7 64bit、Windows 10 64bit

Linux开发环境:Ubuntu14.04.3 64bit

虚拟机:VMware15.1.0

U-Boot:U-Boot-2017.01

Kernel:Linux-4.9.65、Linux-RT-4.9.65

Linux Processor SDK:ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05

硬件设备:5G模块(移远RM500Q)、SIM卡(5G电信)

案例功能

本案例位于产品资料“4-软件资料\Demo\tl-linux-application\module-demos\”目录下,目录结构如下表:

表 1

目录

描述

bin

存放程序可执行文件

driver

存放驱动文件和驱动源码

src

存放程序源码

tool

存放Python脚本工具

案例包含4个测试程序和1个Python脚本,分别实现如下功能:

  1. quectel-CM:实现网络功能。移远官方提供的自动拨号上网程序,通过对GobiNet驱动生成的"/dev/qcqmiX"设备节点进行操作,能自动设置网络连接参数、获取IP和DNS等,如需持续使用上网功能,需保持该程序在后台运行。
  2. rm500q_phone_call:实现语音通话功能。
  3. rm500q_send_sms:实现发送短信功能。
  4. rm500q_get_location:实现获取经纬度功能。
  5. speedtest.py:基于Python开发的脚本程序,利用了speedtest.net的服务来测量出上下行的宽带,并根据机房离测速服务器的物理距离来列出测速服务器。亦可针对某一服务器进行测速,同时生成一个URL用于分享测速结果。

本文测试板卡是基于基于TI Sitara系列AM5728(双核ARM Cortex-A15 +浮点双核DSP C66x) + Xilinx Artix-7 FPGA处理器设计的高端异构多核开发板。

案例测试

请将5G模块(移远RM500Q)上的天线接口ANT0、ANT1和ANT3连接5G天线,ANT2_GNSSL连接GPS天线,将5G模块安装至M.2转USB转接板。评估板不接网线,使用USB转Type-C数据线连接评估板的USB1 DRD 3.0接口和M.2转USB转接板的USB Type-C接口。

图 1


图 2 5G(移远RM500Q)模块

使用前请在5G模块中插入可正常使用的SIM卡,确保5G天线和GPS天线(GPS字样面朝上)已正常安装,然后将GPS天线放置在开阔场合(室内测试GPS功能可能会导致经纬度获取失败)。

将本案例bin目录下的程序可执行文件、"driver/image/"目录下的驱动镜像文件、tool目录下的脚本拷贝至评估板文件系统。在驱动镜像文件所在目录下,执行如下命令进行驱动加载,加载完后将会生成usbX网络设备节点,以及"/dev/qcqmiX"设备节点。

Target# modprobe usbnet

Target# insmod GobiNet.ko

图 3

执行如下命令关闭其它网络设备节点,查询生成的usbX网络设备节点。

Target# ifconfig eth0 down

Target# ifconfig eth1 down

Target# ifconfig

图 4

网络功能测试

执行如下命令,运行移远官方提供的上网拨号程序,并在后台运行。

Target# ./quectel-CM &

图 5

网络功能测试

拨号成功后,执行如下命令测试网络通信功能。

Target# ping www.baidu.com

图 6

如需要退出上网功能,请执行如下命令。

Target# killall quectel-CM

图 7

网络带宽性能测试

保证上网拨号程序在后台运行情况下,通过speedtest.py脚本进行测试。脚本使用方法说明:

  1. 测试下载与上传速度,不需要带参数,执行命令:./speedtest.py
  2. 测试上传与下载的速度(以字节计算),执行命令:./speedtest.py --bytes
  3. 仅需要Ping,获取上传和下载的结果,执行命令:./speedtest.py --simple
  4. 列出speedtest.net所有的服务器距离主机的物理距离,单位是千米(km),执行命令:./speedtest.py --list
  5. 对指定的服务器进行测速(使用"./speedtest.py --list"命令获取服务器ID),执行命令:./speedtest.py --server [server ID]

5G模式测试速率

在脚本所在目录下,执行如下命令,进行测试。

Target# ./speedtest.py

图 8

由上图可知,下行速率为118.77Mbit/s,上行速率为91.23Mbit/s,实时性Ping为25.236ms。

备注:5G信号带宽和信号覆盖地点有关,测试数据仅供参考。

4G模式测试速率

将5G模块仅保留任意1根5G天线连接,即为4G模式,本次测试时仅保留ANT0天线。在脚本所在目录下,执行如下命令,进行测试。

Target# ./speedtest.py

图 9

由上图可知,下行速率为57.78Mbit/s,上行速率为40.85Mbit/s,实时性Ping为106.935ms。

如在使用speedtest.py脚本出现"ERROR: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>"错误,请在脚本中添加如下内容:

import ssl

ssl._create_default_https_context = ssl._create_unverified_context

短信功能测试

测试命令:./rm500q_send_sms <device> <phonenumber> <text>

命令说明:<device>为设备节点,以"ls /dev/ttyUSB*"命令查看结果为准,重启评估板后可能会变化。<phonenumber>为发送短信目标手机号。<text>为短信发送内容,短信内容字符之间不可有空格,否则会提示错误。

程序说明:设置短信发送模式,并发送短信内容。

进入评估板文件系统,在rm500q_send_sms文件所在路径下执行如下命令测试短信功能是否正常。

Target# ./rm500q_send_sms /dev/ttyUSB2 131******** www.tronlong.com

图 10


图 11

语音通话功能测试

测试命令:./rm500q_phone_call <device> <phonenumber>

命令说明:<device>为设备节点,以"ls /dev/ttyUSB*"命令查看结果为准,重启评估板后可能会变化。<phonenumber>为拨打目标手机号。

程序说明:测试语音通话功能。

进入评估板文件系统,在rm500q_phone_call文件所在路径下执行如下命令测试语音通话功能是否正常。

Target# ./rm500q_phone_call /dev/ttyUSB2 131********

图 12
图 13

获取经纬度功能测试

测试命令:./rm500q_get_location <device> <timeout>

命令说明:<device>为设备节点,以"ls /dev/ttyUSB*"命令查看结果为准,重启评估板后可能会变化。<timeout>为等待返回经纬度信息的时间(单位为秒)。

程序说明:通过GPS天线获取经纬度信息,并打印结果。

进入评估板文件系统,在rm500q_get_location文件所在路径下执行如下命令测试GPS定位功能是否正常。

Target# ./rm500q_get_location /dev/ttyUSB2 1

图 14

如下图,若出现经纬度信息获取失败、超时,请检查天线是否接好,并确保处于室外开阔场地进行测试。

图 15

案例编译

驱动编译

将案例driver目录下的驱动源码GobiNet拷贝至Ubuntu工作目录下,执行如下命令指定交叉编译工具并进行编译。

Host# export PATH=/home/tronlong/ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin:$PATH

Host# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KDIR=/home/tronlong/AM57x/Kernel/Linux-4.9.65

备注:"/home/tronlong/AM57x/Kernel/Linux-4.9.65"为Linux内核源码路径,且需先进行内核编译。

图 16

编译完成,在当前目录生成驱动程序GobiNet.ko。

程序编译

将案例目录下src程序源码拷贝至Ubuntu工作目录下,执行如下命令加载SDK环境并进行编译。

Host# source /home/tronlong/ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05/linux-devkit/environment-setup

Host# make

图 17

编译完成,在当前目录生成测试程序可执行文件。

关键代码说明

rm500q_send_sms.c

打开并设置串口。

图 18

设置文本模式。

图 19

发送短信。

图 20

rm500q_phone_call.c

打开并初始化串口。

图 21

发送语音通话命令。

图 22

rm500q_get_location.c

打开并设置串口。

图 23

查询GPS功能是否开启。

图 24

开启GPS功能。

图 25

如果GPS功能已开启,先关闭GPS以清除定位数据,再开启GPS。

图 26

获取经纬度信息并打印。

图 27
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。