我们已经在评论的第一部分中对Mixtile Core 3588E进行了初步的观察,其中包括我们已经在评论的第一部分中对Mixtile Core 3588E进行了初步的观察,其中包括了开箱和首次启动Ubuntu 22.04 OEM安装。
现在我有更多的时间来测试这个开发套件,它由一个16GB/128GB配置的Core 3588模块和一个Leetop A206载板组成。我进行了低级别的功能测试、一些基准测试、使用3D图形加速和视频播放的多媒体测试,以及使用内置的6 TOPS NPU和RKNPU2工具包进行的一些AI测试。最后,我还尝试了将载板与NVIDIA Jetson Nano开发者套件中的系统-on-module一起使用。
Ubuntu 22.04系统信息
在Mixtile Core 3588E评测的第一部分中,我们已经检查了一些系统信息,但这里是一个简单的提醒:
我还运行了inxi命令来检查更多的细节。
串行控制台的完整启动日志也可以在pastebin上找到。我们可以看到Mixtile Core 3588E机器配备了一个Rockchip RK3588八核处理器,时钟频率为1,800 MHz(Cortex-A55)和2,352 MHz(Cortex-A76),拥有16GB RAM、128GB eMMC存储(AKJ21X设备),连接到一个HDMI显示器和千兆以太网。系统温度显示空闲时为39.8C,大部分时间都有PWM风扇的帮助,但这并不是一个问题,因为我发现它相当安静。
[更新日期:2024年1月9日:Mixtile发布了一个新的固件镜像,默认启用了Wayland和GPIO,这应该解决了我在下面遇到一些问题。请查看发布说明和下载链接]
在Ubuntu 22.04中测试Mixtile Core 3588E硬件功能
Mixtile有一些文档,我特别浏览了“硬件教程”,以检查大部分功能。我不得不跳过MIPI CSI摄像头测试,因为它们只支持IMX219摄像头模块,而我没有这个模块。
M.2插槽与NVMe SSD和WiFi 6模块
但我安装了一块256GB M.2 NVMe SSD(Apacer AS2280P4,读取速度高达1,800 MB/s,写入速度为1,100 MB/s)和一个Realtek RTL8852BE WiFi 6和蓝牙5.2模块,我从Radxa ROCK 5B SBC中取出并安装在Leetop A206载板底部的M.2插槽上。
左侧的模块是一块OLED显示屏。稍后会详细介绍。
现在让我们启动系统,并检查M.2 NVMe SSD和RealTek WiFi 6模块是否被正确检测到:
让我们快速查看一下M.2 SSD的性能:
这将达到2272 MB/s的写入速度和2229 MB/s的读取速度,而且在它比SSD更快之前肯定存在问题,而我们已经开始使用具有直接I/O的EXT4文件系统了…我尝试了不同大小的指令,但我得到了相同的结果。我用FIO进行了另一个测试:
这看起来更接近Apacer SSD的理论性能,读取速度为1828MB/s,写入速度为909MB/s。无论如何,M.2 PCIe插槽的表现符合预期。
在专注于存储测试的同时,我还使用iozone测试了eMMC闪存:
对于128GB eMMC闪存来说,顺序读取速度为301 MB/s,顺序写入速度为258 MB/s似乎相当不错。
现在让我们关注一下WiFi模块。我可以顺利连接到WiFi,尽管它显示了两个RealTek无线设备,但这对这个特定的模块来说显然是正常现象。
我通过5 GHz的WiFi连接了两者,链接速度为1.201 Gbps:
下载和上传速度是通过iperf3测试的,而另一端使用的是UP Xtreme i11迷你PC的2.5 GbE接口。
上传:
下载:
在这个测试平台上,上传速度为586 Mbps,下载速度为562 Mbps,表现相当不错。尽管在下载测试中出现了很多波动,速度从400 Mbps到726 Mbps不等。在同一环境和测试条件下,Rock 5B SBC中的相同模块平均下载速度达到了821 Mbps,上传速度为420 Mbps。
我重新连接了以太网电缆,以便快速检查千兆以太网的双向(全双工)测试:
没问题。在Ubuntu上对Mixtrile Core 3588E开发套件的评测进展顺利。
RTC和串行调试端口测试
我手头没有备用的纽扣电池,但我仍然可以测试RTC。
没问题,只要你考虑到地点设定在泰国,而佛教的2566年相当于国际的2023年。
我还连接了一个串行调试板,以便在没有以太网或显示器的情况下访问该板,如上所示。
断开以太网电缆后(在测试期间我没有WiFi),我重新启动了Ubuntu,并在我的Ubuntu笔记本电脑上使用波特率为1,500,000 bps的BootTerm来访问Mixtile Core 3588E上的串行控制台:
系统日期和实时时钟(RTC)稍微有些不同步。由于没有电池,我原本预期系统会从实时时钟读取时间并与其同步,但实际情况并非如此。因此,我将板子关闭了近两个小时(仍然没有硬币电池或互联网连接),得到了以下结果:
系统日期从上次关机时恢复了日期和时间,RTC被设置为2021年1月1日。这是正常的,当我重新连接以太网时,这两个日期会自动更新并同步。
使用OLED显示屏测试I2C
Leetop A206载板具有一个40引脚GPIO头,其引脚排列如下所示。
教程指导我们使用OLED显示屏来测试I2C,而我恰好有一个来自ANAVI温度计套件的OLED显示屏。我将其连接到I2C1(GPIO引脚3和5),3.3V,以及GND,连接方式如下图所示。
但是,这并没有奏效:
这是因为I2C1在某种程度上没有被启用,我们将在下面解决这个问题。但同时,我将显示器移动到I2C0,位于引脚27和28上,这次OLED-I2C确实显示了Core3588E字符串。但是硬编码的字符串并不好玩,所以我安装了SSD1306 OLED项目。
并展示了我自己的作品:
很好!回到我们之前提到的I2C1问题,我已经向Mixtile报告了这个问题,并且公司告诉我需要编辑/boot/firmware/ubuntuEnv.txt文件,并按照以下方式更新“overlays”行:
然后,我重新启动了电路板并再次尝试:
这个技巧成功了!公司向我解释说,这为GPIO启用了特殊模式,并且将来的图像中会进行更新。
UART串行接口
我们已经使用UART接口来连接串行控制台,但是GPIO头也带有自己的UART接口,用于连接各种外设。我们还可以使用USB串行调试板来测试发送和接收消息。第一次使用时没有成功,因为/boot/firmware/ubuntuEnv.txt文件中缺少“overlays”行,所以如果缺少该行,请确保先进行更新。
计划是通过从UART1(引脚8上的Tx,引脚10上的Rx)向USB串行端口发送数据来进行排序的回环测试。这个调试板连接到Leeptop A206载板的一个USB端口上。
由于该板运行Ubuntu 22.04,我们需要先进行一些清理工作:
现在,我们将看到三个串行接口:
ttyS1 应该代表GPIO接口上的UART1,而ttyUSB0则对应我们刚刚连接的USB串行调试板。让我们打开两个终端窗口,每个窗口的波特率为9600bps,再加上一个用于发送命令的第三个窗口。
我可以顺利地从ttyUSB0向ttyS1发送问候消息,但从ttyS1到ttyUSB0却无法正常工作。我尝试更换电线并按照教程中的规定切换到Picocom实用程序,但结果仍然相同…不确定这里发生了什么。
Mixtile Core 3588E与Ubuntu 22.04的基准测试
我们已经审查了几款Rockchip RK3588硬件平台,因此处理器的性能已经众所周知。我只在Ubuntu 22.04上运行了几个基准测试,以检查Mixtile Core 3588E模块是否达到预期的工作效果。我从sbc-bench.sh脚本开始。
输出:
7-zip基准测试的平均得分为15,900分,与Rock 5B的约16,200分和Khadas Edge2 Pro的16,400分相比略低。起初,我认为这是由于Cortex-A76集群上测量到的频率约为2,285/2,279 MHz,但Edge2 Pro更低,其第一个Cortex-A76核心的时钟频率为2,257 MHz,第二个为2,259 MHz。在Mixtile Core 3588E上,Cortex-A76核心的内存带宽约为10,000 MB/s(memcpy),在Rock 5B上为10457.5 MB/s,在Edge2 Pro上为10,855.0 MB/s,因此虽然略低,但并不显著。对于这里提到的三个Rockchip RK3588 SBC,AES-256的结果也在同一范围内。
然后,我在预装的Chromium浏览器中运行了Speedometer 2.0...
...并在Firefox中重复进行了测试
我很惊讶地发现,在这个基准测试中,Firefox现在比Chromium更快,因为我在Khadas Edge2 Pro上得到了78.84分(Chromium)和53.14分(Firefox)(2022年9月)。网页浏览器不断演变,公司可能设置了不同的选项,因此很难在这里比较结果,但至少Mixtile CPU模块看起来工作正常。
多媒体功能 - 3D图形和视频播放
我计划使用glmark2-es2-wayland基准测试开始3D图形测试。但由于Windowing System设置为X11,而大多数其他最近的主板都使用Ubuntu 22.04和Wayland,所以失败了。Khadas Edge2 Pro在Ubuntu 22.04上也遇到了同样的情况。我想知道这是否也部分解释了上面Chromium得分较低的原因。
我仍然可以运行一个3D图形基准测试,但我必须使用glmark2-es2代替。
我们可以看到Ubuntu镜像正在使用开源的Panfrost驱动程序,只要它们在支持Mali GPU的我们可以看到Ubuntu镜像正在使用开源的Panfrost驱动程序,只要它们在支持Mali GPU的Arm SoC上运行,大多数都会提供该驱动程序。得分为1042分,与glmark2-es2-wayland相比肯定不可同日而语。作为参考,Khadad Edge2 Pro的glmark2得分为4005。由于X11和Wayland是两种不同的窗口系统,我们无法比较得分,但我们仍然建议Mixtile将他们的Ubuntu镜像更新为更现代的Wayland窗口系统以供将来发布(前提是不会破坏其他功能)。
接下来,我在Chromium中播放了一个1080p60的YouTube视频,它非常流畅,只是在开始时有6帧丢失。
只有在我切换到4320p60(8Kp60)时,视频才变得无法观看,因为它非常卡顿,丢失了太多的帧。
我们现在将使用ffmpeg库中的ffplay来测试本地视频播放。
Sintel-2010-4k.mkv(H.264,4K 24 fps)在硬件解码和低CPU使用率的情况下流畅播放。
FIFA世界杯2014乌拉圭-哥伦比亚4K-x265.mp4(H.265,4K 60fps)视频文件也表现良好,并使用了硬件视频解码。
Rockchip处理器通常具有独特的功能,即10位H.264硬件视频解码,这在大多数其他品牌的处理器上是找不到的。Rockchip RK3588也实现了这一功能,并且它与ffplay一起使用暗流涌动-4K.mp4文件进行4K分辨率的视频解码。
对于Blackmagic Pocket Cinema Camera 4K的“气球”-mIAfxj7nd9k.mp4(AV1,4K帧率23.98 fps),结果相同。
我还从YouTube下载了两个8K测试视频,帧率为30fps和60fps。
上面的截图可能让人以为它正在使用av1_rkmpp_decoder并且CPU使用率很低,但实际上图像仅每隔大约30秒更新一次……
使用Rockchip RK3588上的6 TOPS NPU和RKNPU2工具包
Rockchip RK3588配备了一个6 TOPS的NPU,因此我像Arnon在他的Youyeetoo YY3568 Rockchip RK3568 SBC评测中一样,使用RKNPU2工具包进行了测试,该SBC配备了一个1 TOPS的NPU。
首先,我们需要安装依赖项、获取代码并构建YOLOV5演示:
输出的结尾:
让我们现在运行这个代码:
输出:
这段代码的运行时间大约为20毫秒,结果可以在out.jpg文件中找到,其中检测到的对象周围有方框。在前方有一位穿着不寻常服装的人和背景中的几辆汽车没有被检测到,但除此之外,效果看起来相当不错。
我们还可以运行rknn_benchmark样本,对YOLOv5模型进行10次测试,以此作为NPU的性能基准。
Mixtile Core 3588E在复杂的图像上平均以61.65 FPS的速度成功检测到物体,这对于大多数实时应用来说应该足够好了。作为参考,Youyeetoo YY3568在同一测试中以21.5 FPS的速度实现了不同的图像,这可能对某些应用来说是可行的,但对于机器人应用可能会引入过多的延迟。
尝试使用Mixtile Core 3588E CPU模块与NVIDIA Jetson Nano开发套件一起使用
Mixtile表示Core 3588E模块与Jetson TX2 NX兼容。根据我的理解,后者也与Jetson Nano、Xavier NX和Orin Nano兼容,因此我从橱柜中取出了旧的NVIDIA Jetson Nano开发套件(A02)来尝试一下……
我刚刚将Mixtile Core 3588E和Jetson Nano CPU模块从各自的载板中移除,然后我可以将Core 3588E模块顺利地安装到Jetson Nano载板上,没有任何问题。我差点使用12V笔记本电脑的移动电源来给我的“新”套件供电,但后来我意识到NVIDIA开发套件依赖于Leetop A206的5V DC输入,而不是12V。因此,为了避免尴尬的情况,我使用了带有5V/3A电源供应的套件。
电源LED确实亮了,但我在HDMI显示器上看不到任何内容,以太网似乎也无法正常工作。因此,我连接了一个串行控制台:
好消息是,当Core 3588E连接到Jetson载板时,Ubuntu可以启动,并且以太网设备显示出来,尽管已经将以太网电缆连接到板上,但以太网连接仍然断开。因此,我进行了进一步的阅读,并了解到Jetson TX2 NX无法与Jetson Nano开发套件A02一起使用,但较新的Jetson Nano开发套件B01可以正常工作。由于Mixtile Core 3588E应该是一款Jetson TX2 NX的替代品,我对它能与我的老载板兼容不抱太大希望。我没有另一块Jetson载板,所以最终不得不放弃这部分。
结论
Mixtile Core 3588E系统模块在预装的Ubuntu 22.04映像和Leetop A206载板上表现良好。性能符合人们对Rockchip RK3588硬件平台的期望,我可以成功测试3D图形加速(使用Panfrost驱动程序)和各种编解码器的4Kp60硬件视频解码。我还可以测试GPIO头、两个M.2插槽上的NVMe SSD和WiFi 6无线模块的I2C和UART接口,以及6 TOPS NPU能够使用YOLOv5模型实现60 fps的推理,从而实现实时图像处理。
虽然Ubuntu 22.04映像仍有改进的空间,因为我无法在YouTube上或使用本地存储文件的ffplay流畅播放8K AV1视频,尽管4Kp60对于两者都可以正常工作。Ubuntu映像还依赖于X11窗口系统,可能受益于Wayland的更新,以提供更好的支持和性能改进。我还不得不调整一个配置文件才能使I2C和UART正常工作,但这在未来应该不会成为问题,因为它应该默认启用。
Mixtile官方并不推荐或销售任何特定的Jetson TX2 NX载板用于Core 3588E,但由于他们的文档基于Leetop A206载板,将其作为“工作演示”可能是有意义的,此外还可以使用您自己的或其他理论上应该工作的载板。
我要感谢Mixtile发送了带有16GB RAM和快速128GB eMMC闪存的Core 3588E系统模块以及用于评测的Leetop A205板。该公司正在以109美元至278美元的价格销售Core 3588E模块,具体取决于内存和存储配置以及是否附带散热器,并允许客户从其他来源选择他们喜欢的载板或自行设计。如上所述,Leetop A206是一个选项,但它在大多数地方都已售罄,包括Seeed Studio,在那里它的标价为199美元,我只在Aliexpress商店找到了它,售价接近400美元。