天天看點

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

作者:Tronlong創龍科技

前 言

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子產品,可選配外殼直接應用于工業現場,友善使用者快速進行産品方案評估與技術預研。

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

評估闆正面圖

案例功能

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卡槽(缺口方向朝外)。

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 1

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 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 &

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 3

網絡功能測試

上網撥号程式運作成功後,執行如下指令測試網絡通信功能。

Target# ping www.baidu.com

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 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

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 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"

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 6

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 7

4G模式測試速率

将5G子產品僅保留任意1根5G天線連接配接,即為4G模式,本次操作僅保留ANT0天線。在腳本所在目錄下,執行如下指令進行測試。

Target# insmod pcie_mhi.ko mhi_mbim_enabled=1

Target# ./quectel-CM &

Target# ./speedtest.py

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 8

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 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"

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 10

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 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

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 12

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 13

語音通話功能測試

測試指令:./rm500q_phone_call <device> <phonenumber>

指令說明:<device>為裝置節點,以"ls /dev/ttyUSB*"指令檢視結果為準,重新開機評估闆後可能會變化。<phonenumber>為撥打目标手機号。

程式說明:測試語音通話功能。

進入評估闆檔案系統,在rm500q_phone_call檔案所在路徑下執行如下指令測試語音通話功能是否正常。

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

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 14

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 15

擷取經緯度功能測試

測試指令:./rm500q_get_location <device> <timeout>

指令說明:<device>為裝置節點,以"ls /dev/ttyUSB*"指令檢視結果為準,重新開機評估闆後可能會變化。<timeout>為等待傳回經緯度資訊的時間(機關為秒)。

程式說明:通過GPS天線擷取經緯度資訊,并列印結果。

進入評估闆檔案系統,在rm500q_get_location檔案所在路徑下執行如下指令測試GPS定位功能是否正常。

Target# ./rm500q_get_location /dev/ttyUSB2 1

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 16

如下圖,若出現經緯度資訊擷取失敗、逾時,請檢查天線是否接好,并確定處于室外開闊場地進行測試。

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 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

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 18

執行如下指令,控制5G子產品掉電。

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

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 19

執行如下指令,配置5G子產品複位引腳處于低電平。

備注:在硬體設計上,當配置gpio380輸出“1”時,對應複位引腳為低電平。

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

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 20

執行如下指令,根據5G子產品上電時序要求,拉高複位引腳,再控制5G子產品上電。

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

Target# usleep 50000

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

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 21

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 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

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 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核心源碼路徑,編譯驅動前,需先完成核心編譯。

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 24

編譯完成,在目前目錄生成驅動程式pcie_mhi.ko。

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 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-

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 26

編譯完成後,在目前目錄生成測試程式可執行檔案。

關鍵代碼說明

rm500q_send_sms.c

打開并設定序列槽。

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 27

設定文本模式。

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 28

發送短信。

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 29

rm500q_phone_call.c

打開并初始化序列槽。

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 30

發送語音通話指令。

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 31

rm500q_get_location.c

打開并設定序列槽。

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 32

查詢GPS功能是否開啟。

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 33

開啟GPS功能。

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 34

若GPS功能預設已開啟,先關閉GPS以清除定位資料,再重新開機GPS。

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 35

擷取經緯度資訊并列印。

TI Sitara系列 AM64x開發闆——PCIe 5G通信測試手冊

圖 36

繼續閱讀