一、系統概述 MYD-LD25X搭載的Debian系統包含以太網(wǎng)、WIFI/BT、USB、RS485、RS232、CAN、AUDIO、HDMI顯示和攝像頭等功能,同時(shí)也集成了XFCE輕量化桌面、VNC遠程操控、SWITCH網(wǎng)絡(luò )交換和TSN時(shí)間敏感網(wǎng)絡(luò )功能,為工業(yè)設備賦予“超強算力+實(shí)時(shí)響應+極簡(jiǎn)運維”的體驗! ![]()
![]() 圖:MYC-LD25X核心板及開(kāi)發(fā)板 二、亮點(diǎn)功能介紹 1、Xfce桌面 Xfce是一款輕量級的開(kāi)源桌面環(huán)境,旨在提供高效、穩定和易于使用的桌面體驗。 輕量級:Xfce以資源效率為目標,注重在低資源消耗下提供快速響應和流暢的用戶(hù)體驗。它適用于各種硬件配置,包括舊式計算機和嵌入式設備。 簡(jiǎn)潔和直觀(guān):Xfce遵循簡(jiǎn)潔和直觀(guān)的設計原則,提供了直觀(guān)易用的用戶(hù)界面,使用戶(hù)能夠快速上手和自定義桌面環(huán)境。 模塊化:Xfce采用模塊化的設計,桌面環(huán)境由多個(gè)獨立的組件(如面板、窗口管理器、文件管理器等)組成,用戶(hù)可以根據自己的需求進(jìn)行定制和配置。 1.1.啟動(dòng)X(jué)fce myir-image-debian系統默認已經(jīng)包含xfce顯示界面,開(kāi)發(fā)板啟動(dòng)進(jìn)入系統后,接上屏幕會(huì )顯示如下界面,說(shuō)明成功啟動(dòng)X(jué)fce,需輸入設置的賬戶(hù)進(jìn)入系統界面。 ![]() 圖1.1 xfce顯示界面 2、VNC遠程控制 2.1. vnc簡(jiǎn)介 VNC(Virtual Network Computing,虛擬網(wǎng)絡(luò )計算)是一種遠程桌面控制技術(shù),允許用戶(hù)通過(guò)互聯(lián)網(wǎng)或局域網(wǎng)遠程訪(fǎng)問(wèn)和控制另一臺計算機的桌面環(huán)境。系統默認安裝了TigerVNC。以下是其核心特點(diǎn)和應用:
2.2. 啟動(dòng)VNC服務(wù) Debian系統默認上電就開(kāi)啟VNC服務(wù)端,使用下面命令查看vnc服務(wù): root@myd-ld25x:~# ps -ef | grep vncroot 2348 1 0 15:14 ? 00:00:00 /usr/bin/perl /usr/bin/vncserver -geometry 1280x720 -depth 24 -localhost no :1root 2349 2348 0 15:14 ? 00:00:01 /usr/bin/Xtigervnc :1 -localhost=0 -desktop myd-ld25x:1 (root) -rfbport 5901 -PasswordFile /tmp/tigervnc.QQW419/passwd -SecurityTypes VncAuth,TLSVnc -auth /root/.Xauthority -geometry 1280x720 -depth 24root 2350 2348 0 15:14 ? 00:00:00 /bin/sh /etc/X11/Xtigervnc-sessionroot 2356 2350 0 15:14 ? 00:00:00 tigervncconfig -iconicroot 4836 3480 0 16:48 ttySTM0 00:00:00 grep vnc 2.3 客戶(hù)端連接測試
![]() 圖2.1 客戶(hù)端VNC界面
(如192.168.40.198或myd-ld25x): root@myd-ld25x:~# cat /etc/hosts127.0.0.1 myd-ld25xroot@myd-ld25x:~# ifconfig end1: flags=4099 通過(guò)VNC服務(wù)器的log,獲取端口/顯示編號,如:1(對應端口5901)或直接指定端口號5901: root@myd-ld25x:~# cat .vnc/myd-ld25x:1.log Xvnc TigerVNC 1.12.0 - built 2023-01-06 16:01Copyright (C) 1999-2021 TigerVNC Team and many others (see README.rst)See https://www.tigervnc.org for information on TigerVNC.Underlying X server release 12101006, X.Org Mon Mar 3 18:02:44 2025 vncext: VNC extension running! vncext: Listening for VNC connections on all interface(s), port 5901 vncext: created VNC server for screen 03NI3X0 New Xtigervnc server 'myd-ld25x:1 (root)' on port 5901 for display :1.3NI3X0 Use xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /tmp/tigervnc.otB4Rd/passwd myd-ld25x:1 to connect to the VNC server.[mi] mieq: warning: overriding existing handler (nil) with 0xaaaae7efad10 for event 2[mi] mieq: warning: overriding existing handler (nil) with 0xaaaae7efad10 for event 3..................................................
格式:目標地址:顯示編號或 目標地址::端口號 以主機名為例子,配置完成后,點(diǎn)擊”OK”按鈕,如下圖所示: ![]() 圖2.2 客戶(hù)端VNC配置
![]() 圖2.3 VNC連接成功界面 3、交換機功能 3.1. 交換機簡(jiǎn)介 以太網(wǎng)交換機是一種硬件設備,用于連接局域網(wǎng)(LAN)上的設備,并在這些設備之間轉發(fā)數據包。它在OSI模型的數據鏈路層(第2層)運行,并使用MAC地址來(lái)確定每個(gè)數據包的目的地。以太網(wǎng)交換機可以通過(guò)減少沖突和擁塞來(lái)提高網(wǎng)絡(luò )性能,同時(shí)還可以提供如虛擬局域網(wǎng)(VLAN)和基于端口的訪(fǎng)問(wèn)控制等安全功能。與以太網(wǎng)橋接器相比,以太網(wǎng)交換機在CPU使用率方面更為高效。由于硬件以太網(wǎng)交換機負責數據轉發(fā)、過(guò)濾和優(yōu)先級排序,因此減輕了CPU的工作負擔。這樣一來(lái),CPU可以專(zhuān)注于處理其他任務(wù),從而進(jìn)一步提升網(wǎng)絡(luò )性能。本節主要介紹myd-ld25x作為交換機進(jìn)行雙網(wǎng)段轉發(fā)功能。 3.2. 網(wǎng)絡(luò )拓撲介紹 STM32MP257有兩個(gè)以太網(wǎng)控制器,MYD-LD25X以太網(wǎng)控制器1支持交換機功能。其網(wǎng)絡(luò )拓撲如下圖: ![]() 圖3.1 網(wǎng)絡(luò )拓撲圖 根據上圖很容易了解網(wǎng)絡(luò )拓撲結構: [Device1] (169.254.1.2) │├── end2 接口│[MP25 板] │├── end2 接口: 169.254.1.1(連接 Device1)├── sw0p2 接口: 192.168.0.20(連接 Device2 end2)│└── IP 轉發(fā)已啟用 (`echo 1 > /proc/sys/net/ipv4/ip_forward`) [Device2] (192.168.0.11) 3.3.關(guān)鍵拓撲配置解析
3.4.轉發(fā)功能配置與測試
![]() 圖3.2 選擇交換機設備樹(shù)
配置設備1(開(kāi)發(fā)板或者PC)網(wǎng)絡(luò )接口IP和路由,這里Device1使用一塊MYD-LD25X開(kāi)發(fā)板: Board EEWORLDBBCODETK4gt; ifconfig end2 169.254.1.2 upBoard EEWORLDBBCODETK4gt; ip route add default via 169.254.1.1 配置設備2(開(kāi)發(fā)板或者PC)網(wǎng)絡(luò )IP和路由,這里Device2也使用一塊MYD-LD25X開(kāi)發(fā)板:Board EEWORLDBBCODETK4gt; ifconfig end2 192.168.0.11 upBoard EEWORLDBBCODETK4gt; ip route add default via 192.168.0.10 3.5.連通性驗證從Device1->Device2,當執行ping 192.168.0.11 時(shí), 數據包從 Device1 發(fā)送到默認網(wǎng)關(guān)MYD-LD25X (169.254.1.1),MYD-LD25X根據路由表將數據包轉發(fā)到 sw0p2 接口 (192.168.0.20)。Device2 收到數據包并回復,路徑反向同理。Board EEWORLDBBCODETK4gt; ping 192.168.0.11PING 192.168.0.11 (192.168.0.11) 56(84) bytes of data.64 bytes from 192.168.0.11: icmp_seq=1 ttl=63 time=0.959 ms64 bytes from 192.168.0.11: icmp_seq=2 ttl=63 time=0.618 ms64 bytes from 192.168.0.11: icmp_seq=3 ttl=63 time=0.649 ms64 bytes from 192.168.0.11: icmp_seq=4 ttl=63 time=0.669 ms64 bytes from 192.168.0.11: icmp_seq=5 ttl=63 time=0.625 ms64 bytes from 192.168.0.11: icmp_seq=6 ttl=63 time=0.624 ms64 bytes from 192.168.0.11: icmp_seq=7 ttl=63 time=0.630 ms64 bytes from 192.168.0.11: icmp_seq=8 ttl=63 time=0.669 ms 從Device2->Device1,過(guò)程一樣:Board EEWORLDBBCODETK4gt; ping 169.254.1.2 PING 169.254.1.2 (169.254.1.2) 56(84) bytes of data.64 bytes from 169.254.1.2: icmp_seq=1 ttl=63 time=0.761 ms64 bytes from 169.254.1.2: icmp_seq=2 ttl=63 time=0.688 ms64 bytes from 169.254.1.2: icmp_seq=3 ttl=63 time=0.678 ms64 bytes from 169.254.1.2: icmp_seq=4 ttl=63 time=0.640 ms64 bytes from 169.254.1.2: icmp_seq=5 ttl=63 time=0.676 ms64 bytes from 169.254.1.2: icmp_seq=6 ttl=63 time=0.614 ms64 bytes from 169.254.1.2: icmp_seq=7 ttl=63 time=0.608 ms64 bytes from 169.254.1.2: icmp_seq=8 ttl=63 time=0.543 ms 通過(guò)MYD-LD25X板作為路由中轉,成功實(shí)現了兩個(gè)不同子網(wǎng)(169.254.1.0/24和 192.168.0.0/24)間的通信。 4、TSN4.1.TSN簡(jiǎn)介TSN代表時(shí)間敏感網(wǎng)絡(luò )(Time-Sensitive Networking),它是由電氣和電子工程師協(xié)會(huì )(IEEE)開(kāi)發(fā)的一系列標準,旨在通過(guò)以太網(wǎng)網(wǎng)絡(luò )提供確定性和低延遲的通信。TSN旨在支持實(shí)時(shí)應用,如工業(yè)自動(dòng)化、汽車(chē)以及音頻/視頻流傳輸。TSN通過(guò)在網(wǎng)絡(luò )中的所有設備之間提供時(shí)間同步,并使用流量整形和調度機制為時(shí)間關(guān)鍵型流量分配優(yōu)先級和網(wǎng)絡(luò )資源,從而實(shí)現確定性通信。TSN還支持冗余和容錯機制,以確保高可用性和可靠性。此處列出了IEEE定義的TSN標準的完整清單。TSN的關(guān)鍵特性包括:
4.2. 網(wǎng)絡(luò )拓撲介紹通過(guò)預留4個(gè)帶寬序列,給每個(gè)序列分別不同的優(yōu)先級,如下網(wǎng)絡(luò )拓撲圖所示: ![]() 圖4.1 QAV例子 如上圖所示,配置網(wǎng)口如下:
4.3. 網(wǎng)絡(luò )流量控制
在接受端(PC或者其他開(kāi)發(fā)板)接收端創(chuàng )建vlan端口:root@localhost:~# ip link add link eno0 name eno0.200 type vlan id 200 root@localhost:~# ip link set eno0.200 up root@localhost:~# ip addr add 192.168.200.30/24 dev eno0.200
為每個(gè)隊列分配不同的帶寬// Set bandwidth of queue 1 to be 100Mbpsroot@myd-ld25x:~# tc qdisc replace dev end0 parent 100:2 cbs idleslope 100000 sendslope -900000 hicredit 150 locredit -1350 offload 1 // Set bandwidth of queue 2 to be 200Mbps root@myd-ld25x:~# tc qdisc replace dev end0 parent 100:3 cbs idleslope 200000 sendslope -800000 hicredit 300 locredit -1200 offload 1 // Set bandwidth of queue 3 to be 300Mbps root@myd-ld25x:~# tc qdisc replace dev end0 parent 100:4 cbs idleslope 300000 sendslope -700000 hicredit 450 locredit -1050 offload 1
在MYD-LD25X開(kāi)發(fā)板,使用iperf3開(kāi)始傳輸數據流://Stream with SKB priority 6 : TOS=0x14 == SO_PRIORITY=6// https:man7.org/linux/man-pages/man8/tc-prio.8.htmlroot@myd-ld25x:~# iperf3 -c 192.168.200.30 -u -b 0 -p 5003 -l1472 -t60 --tos 0x14 &//Stream with SKB priority 4root@myd-ld25x:~# iperf3 -c 192.168.200.30 -u -b 0 -p 5002 -l1472 -t60 --tos 0x1a &//Stream with SKB priority 2root@myd-ld25x:~# iperf3 -c 192.168.200.30 -u -b 0 -p 5001 -l1472 -t60 --tos 0xa &//Stream with SKB priority 0 (Best effort)root@myd-ld25x:~# iperf3 -c 192.168.200.30 -u -b 0 -p 5000 -l1472 -t60 &
|