跳到主要内容

全志 PERF2B 开发板

本文将以 V821 PERF2B 开发板为示例,讲解开发板使用与入门。

开发板介绍

为方便客户及开发者基于V821进行预研和开发,全志提供了基于 V821 的 PERF2B 开发板。PERF2B 板是以 V821 为主控芯片的开发板,板载多种外设资源,支持12V 转 5V 或 Micro USB 供电。V821芯片集成PMU,提供LDO和电池管理,支持 SPI NAND、SPI NOR 和 SD2.0 存储。视频输入支持单目、双目、三目切换MIPI CSI,视频输出支持SPI-DBI屏。音频支持单喇叭和麦克风输入,V821 内置 Wi-Fi/BT 支持 2.4G 802.11b/g/n-HT20,也支持外挂WIFI模块。还具备UART、USB2.0、PWM、TWI接口,以及IR-CUT和GPIO控制功能。支持外挂RGB屏幕或i8080屏。设备采用4层PCB设计,工作温度范围为-30℃至80℃,适用于V821低功耗平台开发验证。

image-20250227164332505

  • 电源:支持12V转5V或5V/1A接口,支持mirco USB接口
  • PMU:V821芯片集成LDO_2V8、LDO_1V8,支持外挂DCDC、LDO,支持电池供电,AXP2601电量计
  • 存储:支持SPI NAND、SPI NOR、SD2.0
  • Video IN:支持单目MIPI CSI、双目MIPI CSI、三目切换MIPI CSI,DVP CSI
  • Video OUT:支持SPI-DBI屏,支持 Serial RGB屏幕,I8080屏幕
  • Audio:支持单喇叭和1路MIC
  • Wi-Fi/BT:V821 SIP Wi-Fi,2.4G 802.11b/g/n-HT20,支持外挂无线模组
  • EMAC:支持外挂EPHY,默认外挂RTL8201F
  • UART:UART0,UART2,2-Wire,用于调试打印
  • USB:支持USB2.0
  • PWM:支持PWM*3
  • TWI:支持TWI0
  • IR-CUT:支持1组IR-CUT IO
  • GPIO:支持LED、红外灯控制
  • PCB:4L
  • 环境温度范围: -30℃~80℃

开发板接口布局

开发板布局图如下图所示:

image-20250227164524150

输入电源选择

V821PERF2B 开发板支持 USB 5V 供电,也支持 DC12V 供电,其供电方式需要使用跳线帽进行切换,如下图所示

image-20241119150530260

当跳线切换使用 USB 供电的时候,DC12V 开关无效,插入USB即上电

image-20250227164728588

当跳线切换使用 12VDC 供电的时候,可同DC12V开关开发板,向右拨动开关即关闭电源,向左拨动开关即打开电源。

image-20250227164909967

调试串口

由于 V821 是双核 RISC-V 异构系统,在调试时需要两组串口分别调试 RISC-V CPU 与 RISC-V MCU,所以开发板提供了两个调试串口连接器,默认 SDK 配置的波特率是115200。

image-20241119153242240

由于引脚资源紧张,RISC-V MCU 调试接口复用的是 PC4 与 PC5 这组 IO,但是这组 IO 同时作为 SD 卡的信号线,所以RISC-V MCU 调试接口不能与 SD 卡共用。在开发 RISC-V MCU 时需要关闭 SD 卡功能。

实物如下图所示:

image-20250227165053650

以太网口

在开发板的 USB 接口下面有一个支持 PoE 的百兆以太网接口,其定义从上到下为:

编号名称
1DC12V_IN
2GND
3RX-
4RX+
5TX-
6TX+
73V3_EPHY(网口LED使用)
8LED1-AD1

其中的3V3_EPHY为带灯网络线使用,不可作为电源输出给其他设备使用。

image-20241119153134993

实物图如下所示

image-20241119152929381

开发板使用入门

调试

串口调试

将串口线接入调试串口,从上到下分别是

编号功能
1UART0 TX (PD22)
2UART0 RX (PD23)
3浮空
4GND
5GND

image-20241119153830947

串口线打开电脑的设备管理器,确认串口号,例如这里是 COM5

image-20241119153943210

硬件连接完成后,使用串口终端访问,波特率 115200 。例如这里使用的 PuTTY

image-20241119154137938

如果是刷入固件的开发板,上电后即可看到启动日志与控制台

image-20241119154325232

ADB 调试

在电脑上安装 ADB,打开 CMD 使用 adb shell 进入终端。

(1) 在 全志开发者社区-资料下载 专区 下载 ADB 工具 ADB(tab自动补全版) (2)下载后解压放到本地磁盘下(例如D盘的adb文件夹里)

adb_ins_1

(3) 右键 ”此电脑“,属性,找到高级系统设置,点击环境变量,xxx用户的环境变量,Path,新增一个环境变量。

adb_ins_2

(4) 打开命令提示符,输入 adb shell

image-20241119154459505

ADB 也可以作为文件传输使用,例如:

  • 将 sample.mp4 上传到开发板 /mnt/UDISK 目录内
C:\System> adb push sample.mp4 /mnt/UDISK
  • 将 /mnt/UDISK/sample.mp4 下拉到当前目录内
C:\System> adb pull /mnt/UDISK/sample.mp4

重启

在开发板终端 Linux 命令行中输入 reboot 即可重启

image-20241119154725553

在开发板终端 U-Boot 命令行中输入 reset 即可重启

image-20241119154815320

进入烧录模式

有多种方式可以让开发板进入烧录模式。

按键进入烧录模式

在开发板找到按键 FEL

(1)断开USB,电源的前提下,按住 FEL 按键 (2)插入 USB 线 (3)等待电脑连接成功,松开 FEL 按键

命令行烧录模式

在 Linux 命令行中输入 reboot efex 即可重启进入烧录模式

reboot efex

在 U-Boot 命令行中输入 efex 即可重启进入烧录模式

=> efex

破坏启动介质进入烧录模式(SPI NOR)

在 Linux 命令行中输入 echo 000000 > /dev/mtd0,破坏启动引导介质,重启后即可进入烧录模式

开发板应用测试

GPIO 点灯测试

image-20241119155339934

开发板有一颗 LED 灯供用户操作,接在 PD16 上。首先查看复用情况,确认该 GPIO 没有被其他模块复用

cat /sys/kernel/debug/pinctrl/42000000.pinctrl/pinmux-pins

可以看到 PIN PD16 是 UNCLAIMED 的状态,PIN 号是 112 号,表示该 GPIO 没有被其他设备使用,其 IO 号是 112 号

image-20241119155657587

导出该 GPIO

echo 112 > /sys/class/gpio/export
cd /sys/class/gpio/gpio112

image-20241119160439571

然后再将该 IO 置为输出状态,即可操作其电平:

echo out > direction
echo 1 > value #LED点亮
echo 0 > value #LED熄灭

image-20241119160545849

Wi-Fi

V821PERF2B 板子使用的是 V821 的 SIP Wi-Fi,其特点如下:

  • 兼容IEEE802.11b/g/n标准

  • 支持单频2.4GHz1T1R模式

  • 集成LNA,PA和T/R开关

  • 安全支持WPA/WPA2/WPA3-personal和WPS2.0

  • 支持STA、SoftAP、STA+SoftAP和monitor模式

在测试 SIP Wi-Fi 之前,请先接入 Wi-Fi 天线。

image-20241118170739004

SDK 提供了一套简易方便的 Wi-Fi 测试套件:wifi 。 使用 wifi 命令可以设置 Wi-Fi 的工作模式,扫描网络,连接网络等等。 它的使用方法可以通过运行 wifi -h 了解。

Wi-Fi 连接网络

这里首先介绍如何使用 wifi 扫描网络:

(1)设置 Wi-FiSTATION 模式

wifi -o sta 

(2)扫描当前网络环境的 Wi-Fi 站点

wifi -s

(3)连接Wi-Fi(SSID:awol,密码 1234567890)

wifi -c awol 1234567890

(4)连接网络后输入 ifconfig 即可查看当前 ip 地址

image-20241119161156996

可以使用 ping 命令测试 网络连接

ping www.baidu.com

它会输出以下内容

PING 202.108.22.5 (202.108.22.5): 56 data bytes
64 bytes from 202.108.22.5: seq=0 ttl=49 time=48.734 ms
64 bytes from 202.108.22.5: seq=1 ttl=49 time=48.624 ms
64 bytes from 202.108.22.5: seq=2 ttl=49 time=58.370 ms
64 bytes from 202.108.22.5: seq=3 ttl=49 time=69.119 ms
64 bytes from 202.108.22.5: seq=4 ttl=49 time=49.635 ms

(5)断开Wi-Fi

wifi -d

Wi-Fi 建立 AP

(1)创建热点 (SSID:v821,密码 12345678)

wifi -o ap v821 12345678

image-20241119161500112

(2)然后就可以扫描到 Wi-Fi 了,输入密码 12345678 进行连接

image-20241119161644816

音频功能

查看音频设备

使用命令 amixer 可以列出全部音频设备

amixer
Simple mixer control 'ADC',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 255
Mono: 160 [63%] [0.75dB]
Simple mixer control 'ADC DRC0 Mode',0
Capabilities: enum
Items: 'Off' 'On'
Item0: 'Off'
Simple mixer control 'ADC DRC1 Mode',0
Capabilities: enum
Items: 'Off' 'On'
Item0: 'Off'
Simple mixer control 'ADC HPF0 Mode',0
Capabilities: enum
Items: 'Off' 'On'
Item0: 'Off'
Simple mixer control 'ADC HPF1 Mode',0
Capabilities: enum
Items: 'Off' 'On'
Item0: 'Off'
Simple mixer control 'ADDA Loop Mode',0
Capabilities: enum
Items: 'Off' 'DAC-to-ADC'
Item0: 'Off'
Simple mixer control 'DAC',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 63
Mono: 63 [100%] [-1.16dB]
Simple mixer control 'DAC DRC Mode',0
Capabilities: enum
Items: 'Off' 'On'
Item0: 'Off'
Simple mixer control 'DAC HPF Mode',0
Capabilities: enum
Items: 'Off' 'On'
Item0: 'Off'
Simple mixer control 'DACL',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 255
Mono: 160 [63%] [0.75dB]
Simple mixer control 'LINEOUT',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'LINEOUT Gain',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 31
Mono: 31 [100%]
Simple mixer control 'LINEOUT Output Select',0
Capabilities: enum
Items: 'DIFFER' 'SINGLE'
Item0: 'SINGLE'
Simple mixer control 'MIC',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'MIC Gain',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 31
Mono: 31 [100%]
Simple mixer control 'SPK',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'rx sync mode',0
Capabilities: enum
Items: 'Off' 'On'
Item0: 'Off'
Simple mixer control 'tx hub mode',0
Capabilities: enum
Items: 'Off' 'On'
Item0: 'Off'

查看录音设备

可以使用 arecord -l 命令查看开发板提供的录音设备。

arecord -l

image-20241119162200635

麦克风录音

V821 开发板板载一个麦克风,在录音之前,首先需要打开音频通路,配置内部 MIC0录制音频。

(1)打开 MIC 通路

amixer -Dhw:audiocodec cset name="MIC Switch" 1

输出如下,表示音频通路已开启

numid=16,iface=MIXER,name='MIC Switch'
; type=BOOLEAN,access=rw------,values=1
: values=on

(2)设置 MIC 音量

amixer -Dhw:audiocodec cset name="MIC Gain" 10

输出如下,表示设置成功

numid=15,iface=MIXER,name='MIC Gain'
; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
: values=30
| dBscale-min=0.00dB,step=1.00dB,mute=0

使用 arecord -D hw:audiocodec -f S16_LE -t wav -r 16000 -d 3 t.wav 命令,使用板载的麦克风进行录音。

arecord -D hw:audiocodec -f S16_LE -t wav -r 16000 -d 3 t.wav

可以看到输出的 t.wav 文件

image-20241119163114458

播放音频

开发板接入扬声器,使用命令播放刚才录制的 t.wav

aplay t.wav

image-20250227165200418

修改音量

使用 alsamixer 提供的图形化界面调整音量。

image-20241119163217026

边录边播

配置使用MIC输入,同时使用扬声器输出

arecord -Dhw:audiocodec -f S16_LE -r 16000 -c 1 | aplay

USB

USB 切换模式

切换到 Device 模式

cat /sys/devices/platform/soc@2002000/soc@2002000:usbc0@0/usb_device

切换到 Host 模式

cat /sys/devices/platform/soc@2002000/soc@2002000:usbc0@0/usb_host

TF Card

插入 TF Card,日志会显示有卡插入,使用 mount 目录挂载,默认固件支持 FAT32 格式的卡,其他格式需要在内核中启用支持。

mount /dev/mmcblk0p1 /mnt/extsd/

image-20241121173958598

休眠唤醒

V821 支持三种类型的休眠唤醒,包括 Super Standby, Ultra Standby, Hibernation三种,其关系如下表所示:

休眠唤醒等级功耗唤醒速度
Super Standby
Ultra Standby
Hibernation极低
  • Super Standby :

设置 5s 后唤醒,进入休眠

echo +5 >/sys/class/rtc/rtc0/wakealarm; echo mem >/sys/power/state

image-20241121184655928

  • Ultra Standby:

设置 5s 后唤醒,进入休眠

echo 1 >/sys/class/ae350_standby/use_ultra_standby; echo +5 >/sys/class/rtc/rtc0/wakealarm; poweroff

image-20241121184755333

  • Hibernation

设置 10s 后唤醒,进入休眠

echo +10 >/sys/class/rtc/rtc0/wakealarm; poweroff

image-20241121184851133

查看小核输出

V821 可以在 Linux 端查看 RISC-V MCU 的打印,命令如下:

Linux 内查看小核日实时日志

tail -f /sys/kernel/debug/remoteproc/remoteproc0/aw_trace_log > /dev/console &

Linux 内查看小核历史日志

cat /sys/kernel/debug/remoteproc/remoteproc0/aw_trace_log

购买链接

敬请期待