前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TI Sitara系列 AM64x开发板——PCIe 5G通信测试手册

TI Sitara系列 AM64x开发板——PCIe 5G通信测试手册

原创
作者头像
创龙科技Tronlong
发布2022-11-26 20:46:01
1.4K0
发布2022-11-26 20:46:01
举报

前 言

1 案例功能

2 案例测试

2.1 网络功能测试

2.1.1 网络功能测试

2.1.2 网络带宽测试

2.2 短信功能测试

2.3 语音通话功能测试

2.4 获取经纬度功能测试

2.5 5G模块复位测试

3 案例编译

4 关键代码说明

前 言

本文主要基于我司TL64x-EVM评估板 + 移远RM500Q 5G模块,验证PCIe 5G网络通信功能。本文档适用开发环境:

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

虚拟机:VMware15.5.5

Linux开发环境:Ubuntu18.04.4 64bit

U-Boot:U-Boot-2021.01

Kernel:Linux-5.10.65

Linux Processor SDK:ti-processor-sdk-linux-rt-am64xx-evm-08.01.00.39

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

评估板简介

创龙科技TL62x-EVM是一款基于TI Sitara系列AM62x单/双/四核ARM Cortex-A53 + 单核ARM Cortex-M4F异构多核处理器设计的高性能低功耗工业评估板,由核心板和评估底板组成。处理器ARM Cortex-A53(64-bit)主处理单元主频高达1.4GHz,ARM Cortex-M4F实时处理单元主频高达400MHz,采用16nm最新工艺,具有可与FPGA高速通信的GPMC并口,同时支持双屏异显、3D图形加速器。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。

评估板接口资源丰富,引出3x Ethernet(两路支持TSN)、3x CAN-FD、9x UART、多路DI/DO、GPMC、USB、MIPI、LVDS LCD、TFT LCD、HDMI等接口,板载WIFI模块,支持4G模块,可选配外壳直接应用于工业现场,方便用户快速进行产品方案评估与技术预研。

评估板正面图

案例功能

PCIe 5G通信案例位于产品资料“4-软件资料\Demo\module-demos\pcie_5g_test\”目录下,目录结构如下表:

表 1

目录

描述

bin

存放程序可执行文件

driver

存放驱动源码和镜像文件

src

存放程序源码

tool

存放Python脚本工具

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

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

案例测试

请将5G模块(移远RM500Q)上的天线接口ANT0、ANT1和ANT3连接5G天线,ANT2_GNSSL连接GPS天线,将5G模块安装至评估板M.2 PCIe(CON17)插槽,将中国电信5G SIM卡插入5G Micro SIM卡槽(缺口方向朝外)。

图 1

图 2 5G(移远RM500Q)模块

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

将本案例bin目录下的程序可执行文件、"driver/pcie/image/"目录下的驱动镜像文件、tool目录下的脚本文件拷贝至评估板文件系统。评估板上电后,LED13将被点亮。

网络功能测试

执行如下命令,加载驱动文件。并运行5G模块官方提供的上网拨号程序。

Target# insmod pcie_mhi.ko mhi_mbim_enabled=1

Target# ./quectel-CM &

图 3

网络功能测试

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

Target# ping www.baidu.com

图 4

网络带宽测试

保证上网拨号程序在后台运行情况下,通过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

图 5

由上图可知,下行速率为46.04Mbit/s,上行速率为33.01Mbit/s,实时性Ping为109.495ms。

备注:5G信号实测带宽与测试点信号覆盖强度有关,如上测试数据仅供参考。

执行如下命令,使用AT指令查询信号强度。由下图可见,当前模式为“NR5G-SA”,信号强度值分别为“-84,-85,-85”,信号强度越接近-44,表示信号越强。

Target# microcom /dev/mhi_DUN

AT+QENG="servingcell"

图 6

图 7

4G模式测试速率

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

Target# insmod pcie_mhi.ko mhi_mbim_enabled=1

Target# ./quectel-CM &

Target# ./speedtest.py

图 8

图 9

由上图可知,下行速率为20.13Mbit/s,上行速率为14.19Mbit/s,实时性Ping为139.855ms。

备注:4G信号实测带宽与测试点信号覆盖强度有关,如上测试数据仅供参考。

执行如下命令,使用AT指令查询信号强度。由下图可见,当前模式为LTE,信号强度值分别为“-71,-75,-74”,信号强度越接近-44,表示信号越强。

Target# microcom /dev/mhi_DUN

AT+QENG="servingcell"

图 10

图 11

短信功能测试

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

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

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

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

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

图 12

图 13

语音通话功能测试

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

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

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

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

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

图 14

图 15

获取经纬度功能测试

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

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

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

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

Target# ./rm500q_get_location /dev/ttyUSB2 1

图 16

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

图 17

5G模块复位测试

评估板支持对5G模块进行单独复位功能。请执行如下命令,初始化对应GPIO。

Target# echo 380 > /sys/class/gpio/export

Target# echo out > /sys/class/gpio/gpio380/direction

Target# echo 381 > /sys/class/gpio/export

Target# echo out > /sys/class/gpio/gpio381/direction

图 18

执行如下命令,控制5G模块掉电。

Target# echo 0 > /sys/class/gpio/gpio381/value

图 19

执行如下命令,配置5G模块复位引脚处于低电平。

备注:在硬件设计上,当配置gpio380输出“1”时,对应复位引脚为低电平。

Target# echo 1 > /sys/class/gpio/gpio380/value

图 20

执行如下命令,根据5G模块上电时序要求,拉高复位引脚,再控制5G模块上电。

Target# echo 0 > /sys/class/gpio/gpio380/value

Target# usleep 50000

Target# echo 1 > /sys/class/gpio/gpio381/value

图 21

图 22

案例编译

驱动编译

将案例"driver\pcie\src\"目录下的驱动源码Quectel_Linux_PCIE_MHI_Driver_V1.3.1.zip拷贝至Ubuntu工作目录下,执行如下命令进行解压。

Host# unzip Quectel_Linux_PCIE_MHI_Driver_V1.3.1.zip

图 23

执行如下命令,进入pcie_mhi目录,编译驱动源码。

Host# cd pcie_mhi

Host# export PATH=$HOME/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin:$PATH

Host# make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- KDIR=/home/tronlong/AM64x/Kernel/Linux-5.10.65

备注:"/home/tronlong/AM64x/Kernel/Linux-5.10.65"为Linux内核源码路径,编译驱动前,需先完成内核编译。

图 24

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

图 25

程序编译

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

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

Host# make CROSS_COMPILE=aarch64-none-linux-gnu-

图 26

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

关键代码说明

rm500q_send_sms.c

打开并设置串口。

图 27

设置文本模式。

图 28

发送短信。

图 29

rm500q_phone_call.c

打开并初始化串口。

图 30

发送语音通话命令。

图 31

rm500q_get_location.c

打开并设置串口。

图 32

查询GPS功能是否开启。

图 33

开启GPS功能。

图 34

若GPS功能默认已开启,先关闭GPS以清除定位数据,再重启GPS。

图 35

获取经纬度信息并打印。

图 36

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前 言
  • 评估板简介
  • 案例功能
  • 案例测试
  • 网络功能测试
  • 网络功能测试
  • 网络带宽测试
  • 短信功能测试
  • 语音通话功能测试
  • 获取经纬度功能测试
  • 5G模块复位测试
  • 案例编译
  • 驱动编译
  • 程序编译
  • 关键代码说明
  • rm500q_send_sms.c
  • rm500q_phone_call.c
  • rm500q_get_location.c
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档