全志 PERF2 开发板
本文将以 V821 PERF2 开发板为示例,讲解开发板使用与入门。
开发板介绍
为方便客户及开发者基于V821进行预研和开发,全志提供了基于V821的 PERF2开发板。PERF2 板是以 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。还具备UART、USB2.0、PWM、TWI接口,以及IR-CUT和GPIO控制功能。设备采用4层PCB设计,工作温度范围为-30℃至80℃,适用于V821平台开发验证。
- 电源:支持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屏
- 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℃
开发板接口布局
开发板布局图如下图所示:
输入电源选择
V821 PERF2 开发板支持 USB 5V 供电,也支持 DC12V 供电,其供电方式需要使用跳线帽进行切换,如下图所示
当跳线切换使用 USB 供电的时候,DC12V 开关无效,插入USB即上电
当跳线切换使用 12VDC 供电的时候,可同DC12V开关开发板,向右拨动开关即关闭电源,向左拨动开关即打开电源。
调试串口
由于 V821 是双核 RISC-V 异构系统,在调试时需要两组串口分别调试 RISC-V CPU 与 RISC-V MCU,所以开发板提供了两个调试串口连接器,默认 SDK 配置的波特率是115200。
由于引脚资源紧张,RISC-V MCU 调试接口复用的是 PC4 与 PC5 这组 IO,但是这组 IO 同时作为 SD 卡的信号线,所以RISC-V MCU 调试接口不能与 SD 卡共用。在开发 RISC-V MCU 时需要关闭 SD 卡功能。
实物如下图所示:
以太网口
在开发板的 USB 接口下面有一个支持 PoE 的百兆以太网接口,其定义从上到下为:
编号 | 名称 |
---|---|
1 | DC12V_IN |
2 | GND |
3 | RX- |
4 | RX+ |
5 | TX- |
6 | TX+ |
7 | 3V3_EPHY(网口LED使用) |
8 | LED1-AD1 |
其中的3V3_EPHY为带灯网络线使用,不可作为电源输出给其他设备使用。
实物图如下所示
开发板使用入门
调试
串口调试
将串口线接入调试串口,从上到下分别是
编号 | 功能 |
---|---|
1 | UART0 TX (PD22) |
2 | UART0 RX (PD23) |
3 | 浮空 |
4 | GND |
5 | GND |
串口线打开电脑的设备管理器,确认串口号,例如这里是 COM5
硬件连接完成后,使用串口终端访问,波特率 115200
。例如这里使用的 PuTTY
如果是刷入固件的开发板,上电后即可看到启动日志与控制台
ADB 调试
在电脑上安装 ADB,打开 CMD 使用 adb shell
进入终端。
(1) 在 全志开发者社区-资料下载 专区 下载 ADB 工具 ADB(tab自动补全版)
(2)下载后解压放到本地磁盘下(例如D盘的adb文件夹里)
(3) 右键 ”此电脑“,属性,找到高级系统设置,点击环境变量,xxx用户的环境变量,Path,新增一个环境变量。
(4) 打开命令提示符,输入 adb shell
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
即可重启
在开发板终端 U-Boot 命令行中输入 reset
即可重启
进入烧录模式
有多种方式可以让开发板进入烧录模式。
按键进入烧录模式
在开发板找到按键 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 点灯测试
开发板有一颗 LED 灯供用户操作,接在 PD16
上。首先查看复用情况,确认该 GPIO 没有被其他模块复用
cat /sys/kernel/debug/pinctrl/42000000.pinctrl/pinmux-pins
可以看到 PIN PD16 是 UNCLAIMED 的状态,PIN 号是 112 号,表示该 GPIO 没有被其他设备使用,其 IO 号是 112 号
导出该 GPIO
echo 112 > /sys/class/gpio/export
cd /sys/class/gpio/gpio112
然后再将该 IO 置为输出状态,即可操作其电平:
echo out > direction
echo 1 > value #LED点亮
echo 0 > value #LED熄灭
Wi-Fi
V821 PERF2 板子使用的是 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 天线。
SDK 提供了一套简易方便的 Wi-Fi 测试套件:wifi
。 使用 wifi
命令可以设置 Wi-Fi 的工作模式,扫描网络,连接网络等等。 它的使用方法可以通过运行 wifi -h
了解。
Wi-Fi 连接网络
这里首先介绍如何使用 wifi
扫描网络:
(1)设置 Wi-Fi
为 STATION
模式
wifi -o sta
(2)扫描当前网络环境的 Wi-Fi 站点
wifi -s
(3)连接Wi-Fi(SSID:awol,密码 1234567890)
wifi -c awol 1234567890
(4)连接网络后输入 ifconfig
即可查看当前 ip 地址
可以使用 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
(2)然后就可以扫描到 Wi-Fi 了,输入密码 12345678 进行连接
音频功能
查看音频设备
使用命令 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
麦克风录音
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
文件
播放音频
开发板接入扬声器,使用命令播放刚才录制的 t.wav
aplay t.wav
修改音量
使用 alsamixer
提供的图形化界面调整音量。
边录边播
配置使用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/
休眠唤醒
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
- Ultra Standby:
设置 5s 后唤醒,进入休眠
echo 1 >/sys/class/ae350_standby/use_ultra_standby; echo +5 >/sys/class/rtc/rtc0/wakealarm; poweroff
- Hibernation
设置 10s 后唤醒,进入休眠
echo +10 >/sys/class/rtc/rtc0/wakealarm; poweroff
查看小核输出
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
购买链接
PRFF2开发板后续不再生产及维护,建议购买使用PERF2B开发板