WEC-IMX8P

 · NXP i.MX 8M Plus处理器,4核ARM Cortex-A53,主频最高达1.6GHz;

 · 独立实时系统核心ARM Cortex-M7,主频800MHz;

 · 强劲的AI加速能力:NPU算力高达2.3TOPs;

 · 优异的机器视觉、语音能力;

 · 优秀的视频性能,支持CSI、LVDS、DSI显示接口

 · 内部存储器和DDR接口的纠错码(ECC)功能。

 · 支持2路10/100/1000Mbps以太网;

 · 支持丰富的外设接口:串口、USB、MMC、SPI等;

 · 配套行业底板,接口丰富,可满足多场景应用。

在线订购
产品介绍产品规格外形尺寸技术规格书

产品介绍:

WEC-IMX8P是研智科技基于NXP i.MX 8M Plus处理器开发的工业核心板。全新i.MX 8M Plus是一个混合人工智能SoC,将先进的嵌入式SoC与最新的人工智能/机器学习硬件NPU技术相结合,通过神经网络加速器,为边缘计算提供强大的机器学习能力,是i.MX 8M Plus一个最为突出的优势。i.MX 8M Plus处理器集成的CPU核心为四核Arm Cortex-A53,主频高达1.6 GHz;独立的实时系统核心ARM Cortex-M7,主频800MHz;集成的NPU具有强劲的AI加速能力,算力高达2.3TOPs。集成双图像信号处理器(ISP)和用于丰富图形渲染的3D GPU,具有优异的视觉能力,分辨率高达12MP;优秀的视频处理及显示性能,支持CSI、LVDS、DSI显示接口,支持三屏同显/异显。多个音频和麦克风接口,用于沉浸式音频和语音系统。通过 CAN-FD 接口可以实现强大的控制网络。

核心板采用SODIMM 314P 接口,与底板组合可构成完整的高性能行业主板,提供丰富的扩展接口,可直接应用到各种智能产品中,加速产品落地。

WEC-IMX8P核心板特别适合在机器学习和视觉、高级多媒体以及具有高可靠性的工业物联网领域应用。可适用于人脸识别、车辆识别、外观检测、智能家居、智慧楼宇、智慧城市、智慧交通、医学影像、工业 4.0、安防、无人机等应用等场景。




基本参数

CPU

NXP i.MX 8M Plus4Cortex-A53Cortex-M7

内存

LPDDR4 4GB

存储

eMMC 8GB

硬件特性

I/O

串口

4个

以太网

2个10/100/1000Mbps自适应网口

USB  HOST

1个USB 3.0

USB OTG

1个USB 2.0

MMC

2个,可支持Micro SD卡和SDIO WIFI

IIC接口

3个

SPI接口

2个

GPIO

多个1.8V LVTTL电平

MCASP音频

2路

CAN总线

2路

多媒体

视频编解码

支持H.265和H.264

显示接口

支持DSI、LVDS接口,支持三屏同显

CSI摄像头

2路MIPI-CSI

系统软件

系统支持

Linux 3.14,WinCE 7.0,Android

其它参数

接口类型

SODIMM 314P 接口

工作温度

-20℃~70

存储温度

-40℃~85

存储湿度   

5%95 %凝结




WEC-SMX8MP-V11+WEB-S242X-V12-Linux用户手册

WEC-SMX8MP-V11+WEB-S242X-V12-Linux用户手册

一、简介

接口示意图

正面

image-20230519095631167

反面

image-20230519095657937

接口说明

image-20230519102744320

二、Linux系统烧写

启动说明

系统默认emmc启动,重新烧写通过下面两种方式:

1、擦除emmc

上电后,一直敲回车(或者ESC键)进入uboot
1.	mmc dev 2 1 (回车)
2.	mmc erase 0 1000 (回车)
3.	reset (回车)

2、拨码开关方式

板子支持otg烧写和emmc启动,更改底板SW4拨码方式实现,下图为emmc启动

image-20230427211221500

 序号1序号2
emmc启动00
烧写模式10

 

串口终端配置

串口节点板载丝印协议
/dev/ttymxc1U38(debug 调试口)

1、串口线连接PC和设备的debug串口------底板丝印U38

2、打开串口工具(putty,超级终端),根据串口号打开串口,波特率是115200。

image-20230427172456530

Linux系统烧写

1、配置好串口终端,按照“启动说明”让板子进入 USB 下载模式

2、进入YZ-WEB-S242X-V12-IMX8MP-02G,04G-E8G-Linux-V1.0-20230826------>file------>tools------>fsl-image-qt5-imx8mp-XX.bat   (根据内存大小选择对应的 XX大小)

3、烧写界面

image-20230427210240543

烧写完成后界面自动关闭

三、功能测试

 

系统信息查询

查看内核和CPU信息,输入以下命令:

root@imx8mpevk:~# uname -a
Linux imx8mpevk 5.4.70yz_imx8mp-wec3s01-geaa85cf47-dirty #2 SMP PREEMPT Fri Apr 14 15:23:14 CST 2023 aarch64 aarch64 aarch64 GNU/Linux

查看内存使用情况:

root@imx8mpevk:~# free -m
              total        used        free      shared  buff/cache   available
Mem:           3855         365        3399          10          89        3392
Swap:             0           0           0

查看emmc使用情况:

root@imx8mpevk:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       6.5G  3.6G  2.6G  58% /
devtmpfs        1.5G  4.0K  1.5G   1% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  9.1M  1.9G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs           1.9G  4.0K  1.9G   1% /tmp
tmpfs           1.9G  208K  1.9G   1% /var/volatile
/dev/mmcblk2p1  500M   28M  472M   6% /run/media/mmcblk2p1
tmpfs           386M  4.0K  386M   1% /run/user/0

温度测试

root@imx8mpevk:~# cat /sys/class/thermal/thermal_zone0/temp
47000

以太网测试

1、IP配置

板载两个千兆网口,插入网线的情况下自动分配IP,用户想要将网口设置为静态IP,配置如下:

root@imx8mpevk:~# vi /lib/systemd/network/80-static-eth0.network
[Match]
Name=eth0
[Network]
Address=192.168.0.10/24
Gateway=192.168.0.1

Name用于指定需要固定IP的网卡 Address用于指定需要固定的IP地址和子网掩码 Gateway用于指定网关 想要自动获取IP:删除文件/lib/systemd/network/80-static-eth0.network

2、测试

root@imx8mpevk:~# ping www.baidu.com -I eth0
PING www.a.shifen.com (14.119.104.254) from 10.168.5.204 eth0: 56(84) bytes of data.
64 bytes from 14.119.104.254 (14.119.104.254): icmp_seq=1 ttl=54 time=27.6 ms
64 bytes from 14.119.104.254 (14.119.104.254): icmp_seq=2 ttl=54 time=27.6 ms
64 bytes from 14.119.104.254 (14.119.104.254): icmp_seq=3 ttl=54 time=27.7 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 27.555/27.632/27.717/0.066 ms
root@imx8mpevk:~# ping www.baidu.com -I eth1
PING www.baidu.com (14.119.104.254) from 10.168.5.205 eth1: 56(84) bytes of data.
64 bytes from 14.119.104.254 (14.119.104.254): icmp_seq=1 ttl=54 time=26.5 ms
64 bytes from 14.119.104.254 (14.119.104.254): icmp_seq=2 ttl=54 time=26.6 ms
64 bytes from 14.119.104.254 (14.119.104.254): icmp_seq=3 ttl=54 time=26.8 ms
^C
--- www.baidu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 26.451/26.613/26.832/0.160 ms

RS232测试

串口节点板载丝印协议
/dev/ttymxc0J49 RX0 TX0232
/dev/ttymxc3J49 RX1 TX1232

1、将底板 J49------1、4脚短接,2、3脚短接

2、测试命令

root@imx8mpevk:~# test_serial -t /dev/ttymxc0 -r /dev/ttymxc3
open /dev/ttymxc3: baudrate:115200, databit:8, stopbit:1, parity:N
open /dev/ttymxc0: baudrate:115200, databit:8, stopbit:1, parity:N
/dev/ttymxc0 trans: 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 00 , len:17
/dev/ttymxc3  recv: 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 00 , len:17
/dev/ttymxc0 trans: 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 00 , len:17
/dev/ttymxc3  recv: 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 00 , len:17
/dev/ttymxc0 trans: 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 00 , len:17
/dev/ttymxc3  recv: 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 00 , len:17
/dev/ttymxc0 trans: 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 00 , len:17
/dev/ttymxc3  recv: 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 00 , len:17
/dev/ttymxc0 trans: 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 00 , len:17
/dev/ttymxc3  recv: 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 00 , len:17
tx:/dev/ttymxc0, rx:/dev/ttymxc3  check succ

RS485测试

串口节点板载丝印协议
/dev/ttymxc2J49 A_2 B_2485

底板有一路485接口,可以通过RS232-RS485转换器测试或者两个板子一收一发方式测试

本测试采用两个板子收发测试,将底板 J49------A_2、B_2与另一板子的485接口相连(A接A,B接B)

测试板当接收端:

image-20230519112301511

测试板当发送端:

image-20230519112538092

CAN测试

底板有两路CAN总线接口,采用一发一收的方式测试CAN

1、将底板J50------1、2脚短接,3、4脚短接

2、设置can0、can1波特率为500KHz并打开设备

root@imx8mpevk:~# ip link set can0 up type can bitrate 500000
root@imx8mpevk:~# ip link set can1 up type can bitrate 500000

3、配置can0为接收端、can1为发送端

root@imx8mpevk:~# candump can0 &
root@imx8mpevk:~# cansend can1 123#abcdabcd
  can0  123   [4]  AB CD AB CD

WiFi测试

1、修改文件/etc/wpa_supplicant.conf,内容如下:

ctrl_interface=/var/run/wpa_supplicant
update_config=1
ctrl_interface_group=root
ap_scan=1


network={
        ssid="RT-ICS"
        psk="YZtek654321"
        key_mgmt=WPA-PSK
}

2、执行命令:

#链接WiFi
wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf  -B
#获取ip
udhcpc -i wlan0

3、测试:

ping www.baidu.com -I wlan0

音频测试

在进行测试前,请将MIC和扬声器插入对应接口。

音量调节(最后一个参数为音量大小,最小为0,最大为127)

amixer cset numid=11 127

录音

arecord -r 44100 -c 2 -f S16_LE out.wav

播放

aplay out.wav

4G

板子支持EC20 4G模块,测试前确保插入4G模块和SIM卡

1、拨号

quectel-CM &

2、获取ip

udhcpc -i usb0

3、测试

ping www.baidu.com -I usb0

GPIO

节点目录/sys/class/gpio_usr/

root@imx8mpevk:~# ls /sys/class/gpio_usr/
4g_power  di2           j55-gpio0   j55-gpio25  lcd_back  out_d2     usb-gpio1
di1       gpio_speaker  j55-gpio24  j55-gpio3   out_d1    usb-gpio0

J51 输入:di1  di2 J51 输出:out_d1  out_d2

J55 输出:j55-gpio0  j55-gpio3  j55-gpio24  j55-gpio25

LED测试

LED灯使用方法如下

1、修改LED灯模式。以led-alm为例修改为心跳模式

root@imx8mpevk:~# echo heartbeat > /sys/class/leds/led-alm/trigger

如需调整为其他模式可以使用如下指令查看支持的状态模式:

root@imx8mpevk:~# cat /sys/class/leds/led-alm/trigger

2、控制点亮LED灯。

点亮底板LED4最下面的LED灯:

root@imx8mpevk:~# echo 1 > /sys/class/leds/led-alm/brightness

熄灭底板LED4最下面的LED灯:

root@imx8mpevk:~# echo 0 > /sys/class/leds/led-alm/brightness

USB测试

1、插入U盘查看挂载点

root@imx8mpevk:~# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/root        6813960 3732272   2714280  58% /
devtmpfs         1480800       4   1480796   1% /dev
tmpfs            1973760       0   1973760   0% /dev/shm
tmpfs            1973760    9364   1964396   1% /run
tmpfs            1973760       0   1973760   0% /sys/fs/cgroup
tmpfs            1973760       4   1973756   1% /tmp
tmpfs            1973760     196   1973564   1% /var/volatile
/dev/mmcblk2p1    510984   28600    482384   6% /run/media/mmcblk2p1
tmpfs             394752       4    394748   1% /run/user/0
/dev/sda1      120815552  335232 120480320   1% /run/media/sda1

本挂载点为/run/media/sda1

2、U盘写入测试

root@imx8mpevk:~# dd if=/dev/zero of=/run/media/sda1/usbtest bs=1M count=50 conv=fsync
50+0 records in
50+0 records out
52428800 bytes (52 MB, 50 MiB) copied, 2.23584 s, 23.4 MB/s

dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。 If=文件名:输入文件名,缺省为标准输入。即指定源文件。 of=文件名:输出文件名,缺省为标准输出。即指定目标文件。 bs=bytes:同时设置读入/输出的块大小为bytes个字节。 count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。 Conv=sync:将每个输入块填充到ibs个字节,不足部分用空(NULL)字符补齐。

3、U盘读取测试

root@imx8mpevk:~# dd if=/run/media/sda1/usbtest of=/dev/null bs=1M
50+0 records in
50+0 records out
52428800 bytes (52 MB, 50 MiB) copied, 0.0391637 s, 1.3 GB/s

SD卡测试

将TF卡插入底板TF卡槽,正常情况下终端有如下打印信息:

root@imx8mpevk:~# [   57.713400] 001: mmc1: host does not support reading read-only switch, assuming write-enable
[   57.724344] 001: mmc1: new high speed SDHC card at address aaaa
[   57.725200] 001: mmcblk1: mmc1:aaaa SU08G 7.40 GiB
[   57.747212] 001:  mmcblk1: p1 p2

默认情况下TF卡挂载到文件系统 /run/media/ 目录

查看挂载目录:

root@imx8mpevk:~# mount | grep mmcblk1
/dev/mmcblk1p2 on /run/media/mmcblk1p2 type vfat (rw,relatime,gid=6,fmask=0007,dmask=0007,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

1.写入测试

root@imx8mpevk:~# dd if=/dev/zero of=/run/media/mmcblk1p2/sdtest bs=1M count=50 conv=fsync
50+0 records in
50+0 records out
52428800 bytes (52 MB, 50 MiB) copied, 11.7834 s, 4.4 MB/s

2.读取测试

root@imx8mpevk:~# dd if=/run/media/mmcblk1p2/sdtest of=/dev/null bs=1M
50+0 records in
50+0 records out
52428800 bytes (52 MB, 50 MiB) copied, 0.0419466 s, 1.2 GB/s

HDMI

将HDMI线插入到底板 J4接口,观察显示屏显示是否正常

image-20230427203342469

LVDS测试

将10.1寸屏数据线和背光线分别接到  J13和  J17,检查屏幕显示是否正常

image-20230427203358148

 

FPGA测试(该版本暂不支持)

FPGA驱动加载节点生成目录/sys/class/misc/yz_fpga,该模块实现QSPI数据接收,控制GPIO输入输出

一、写入FPGA数据

1、设置J57  1~16脚为输出高电平

echo 0xffff 0xffff > /sys/class/misc/yz_fpga/fpga_gpio0

第一个数据0xffff控制 HIO0~HIO15 管脚的输入输出方向,1为输出,0为输入 第二个数据0xffff控制 HIO0~HIO15 管脚的输出值,1对外输出高电平,0对外输出低电平

2、设置J57  17~32脚为输出高电平

echo 0xffff 0xffff > /sys/class/misc/yz_fpga/fpga_gpio1

第一个数据0xffff控制 HIO16~HIO31 管脚的输入输出方向,1为输出,0为输入 第二个数据0xffff控制 HIO16~HIO31 管脚的输出值,1对外输出高电平,0对外输出低电平

3、设置J57  1~16脚为输入

echo 0x0 0x0 > /sys/class/misc/yz_fpga/fpga_gpio0

4、设置J57  17~32脚为输入

echo 0x0 0x0 > /sys/class/misc/yz_fpga/fpga_gpio1

二、读取FPGA数据

读取调试管脚数据

cat /sys/class/misc/yz_fpga/fpga_test

读取fpga_gpio0数据

cat /sys/class/misc/yz_fpga/fpga_gpio0

读取fpga_gpio1数据

cat /sys/class/misc/yz_fpga/fpga_gpio1

SATA测试

暂不支持

NPU测试

1、TensorFlow Lite 测试。识别输入图像的信息

demo1:

image-20230520151657508-tensorflow-demo1.png

使用CPU软件计算测试用例:

root@imx8mpevk:~# cd /usr/bin/tensorflow-lite-2.3.1/examples/
root@imx8mpevk:/usr/bin/tensorflow-lite-2.3.1/examples# ./label_image -m mobilenet_v1_1.0_224_quant.tflite -i grace_hopper.bmp -l labels.txt
Loaded model mobilenet_v1_1.0_224_quant.tflite
resolved reporter
invoked
average time: 43.81 ms
0.780392: 653 military uniform
0.105882: 907 Windsor tie
0.0156863: 458 bow tie
0.0117647: 466 bulletproof vest
0.00784314: 835 suit

使用NPU单元计算测试用例:

root@imx8mpevk:~# cd /usr/bin/tensorflow-lite-2.3.1/examples/
root@imx8mpevk:/usr/bin/tensorflow-lite-2.3.1/examples# ./label_image -m mobilenet_v1_1.0_224_quant.tflite -i grace_hopper.bmp -l labels.txt -a 1
Loaded model mobilenet_v1_1.0_224_quant.tflite
resolved reporter
INFO: Created TensorFlow Lite delegate for NNAPI.
Applied NNAPI delegate.
invoked
average time: 2.98 ms
0.768627: 653 military uniform
0.105882: 907 Windsor tie
0.0196078: 458 bow tie
0.0117647: 466 bulletproof vest
0.00784314: 835 suit

demo2:

image-20230520153256973-tensorflow-demo2.png

可将想要识别的图片(bmp格式,其他格式可能会报错)上传到板子上

使用CPU软件计算测试用例:

root@imx8mpevk:~# cd /usr/bin/tensorflow-lite-2.3.1/examples/
root@imx8mpevk:/usr/bin/tensorflow-lite-2.3.1/examples# ./label_image -m mobilenet_v1_1.0_224_quant.tflite -i /home/root/test.bmp -l labels.txt
Loaded model mobilenet_v1_1.0_224_quant.tflite
resolved reporter
invoked
average time: 43.65 ms
0.941176: 339 guinea pig
0.0196078: 359 polecat
0.0156863: 357 weasel
0.00784314: 360 black-footed ferret
0.00392157: 334 hamster

注:-i参数后为测试图片的路径

使用NPU单元计算测试用例:

root@imx8mpevk:~# cd /usr/bin/tensorflow-lite-2.3.1/examples/
root@imx8mpevk:/usr/bin/tensorflow-lite-2.3.1/examples# ./label_image -m mobilenet_v1_1.0_224_quant.tflite -i /home/root/test.bmp -l labels.txt -a 1
Loaded model mobilenet_v1_1.0_224_quant.tflite
resolved reporter
INFO: Created TensorFlow Lite delegate for NNAPI.
Applied NNAPI delegate.
invoked
average time: 2.816 ms
0.94902: 339 guinea pig
0.0156863: 359 polecat
0.0156863: 357 weasel
0.00784314: 360 black-footed ferret
0.00392157: 334 hamster