【联盛德 W803-Pico 试用】简介、工程测试
【联盛德 W803-Pico 试用】简介、工程测试
本文介绍了联盛德微电子 W803-Pico 开发板的基本信息、环境搭建、工程测试等内容。简介包含开发板功能、主控参数及特点、开发板原理图等信息,工程测试包括 Blink、串口打印等方案的演示。
活动详情:联盛德问答社区
简介
W803-Pico 主控为联盛德 W803 芯片,支持无线 WiFi (IEEE802.11 b/g/n 协议)、蓝牙 BT/BLE4.2 协议。
芯片内置高性能 32 位处理器,主频达 240MHz。
内置 2MB Flash 以及 288KB RAM。
主控
W803 Wi-Fi/BLE MCU 芯片 内置高性能 32 位 CPU 处理器,主频达 240MHz,是专为带触控类 IoT、产品和小家电产品而推出的多功能、低功耗、系统级 Wi-Fi MCU 芯片。
W803 芯片采用 QFN32 封装,最多支持 10 路触摸按键,可满足绝大多数带按键类产品的需求。且触摸按键可通过 10V 动态抗干扰测试,可满足绝大多数带触摸按键类产品的需求。
芯片规格
芯片外观:
- QFN32 封装 4mm x 4mm
MCU 特性
- 集成 32 位 XT804 处理器,工作频率 240MHz,内置 DSP、浮点运算单元与安全引擎
- 内置 2MB Flash,288KB RAM
- 集成 PSRAM 接口,支持最高 64M bit 外置 PSRAM 存储器
- 集成 10 路 Touch Sensor 触控接口
- 集成 5 路 UART 高速接口
- 集成 2 路 12 比特 ADC,最高采样率 1KHz
- 集成 1 个高速 从 SPI 接口,支持最高 50MHz
- 集成 1 个 SDIO_HOST 接口,支持 SDIO2.0、SDHC、MMC4.2
- 集成 1 个 SDIO_DEVICE,支持 SDIO2.0,最高工作频率 200Mbps
- 集成 1 个 I2C 控制器
- 集成 GPIO 控制器,最多支持 20 个 GPIO
- 集成 5 路 PWM 接口
- 集成 1 路 Duplex I2S 控制器
安全特性
- MCU 内置 Tee 安全引擎,代码可区分安全世界/非安全世界
- 集成 SASC/TIPC,内存及内部模块/接口可配置安全属性,防止非安全代码访问
- 启用固件签名机制,实现安全 Boot/升级
- 具备固件加密功能,增强代码安全
- 固件加密密钥使用非对称算法分发,增强密钥安全性
- 硬件加密模块:RC4、AES128、DES/3DES、SHA1/MD5、CRC32、2048 RSA, 真随机数发生器
WiFi 特性
- 支持 IEEE802.11 b/g/n
- 支持 Wi-Fi WMM/WMM-PS/WPA/WPA2/WPS
- 支持 EDCA 信道接入方式
- 支持 20/40M 带宽工作模式
- 支持 STBC、GreenField、Short-GI、支持反向传输
- 支持 AMPDU、AMSDU
- 支持 IEEE802.11n MCS 0~7、MCS32 物理层传输速率档位,传输速率最高到 150Mbps
- 2/5.5/11Mbps 速率发送时支持 Short Preamble
- 支持 HT-immediate Compressed Block Ack、Normal Ack、No Ack 应答方式
- 支持 CTS to self
- 支持 Station、Soft-AP、Soft-AP/Station 功能
蓝牙特性
- 集成蓝牙基带处理器/协议处理器
- 支持 BT/BLE 双模工作模式
- 支持 BT/BLE4.2 协议
低功耗模式:
- 3.3V 单电源供电
- 支持 Wi-Fi 节能模式功耗管理
- 支持工作、睡眠、待机、关机工作模式
- 待机功耗小于 10uA
开发板
W803-Pico 开发板硬件采用 DIP 封装,PCB 板载天线,接口丰富。
W803-Pico 开发板集成的外围器件包括
- PCB 板载天线
- 5V 转 3.3V LDO 芯片
- BOOT、RESET 按键
- 电源指示灯、用户指示灯
降低了额外采购和安装相关元器件的数量和成本,降低额外组装测试的复杂度,增强了实用性。
W803-Pico 开发板的 IO 管脚及排针向下焊接,便于直插在其他开发板,或使用杜邦线连接外设。
引脚示意图
原理图
工程测试
介绍了 Windows 和 Linux 平台下,基于 WM IoT SDK 2.x 对联盛德 W803 Pico 开发板的工程编译、固件上传、效果调试等测试流程。
VS Code
1.下载和安装 VS Code 平台:Visual Studio Code
2.下载 WM IoT SDK
3.安装 Windows 命令行编译环境 winnermicro cli compile suite
4.VS Code安装 WM-IDE
扩展、C/C++ Extension、Serial Monitor 串口监视器
5.进入 WM-IDE 配置环境,包括 SDK 路径和工具链路径。
工程创建
打开 WM-IDE
扩展 - Import Project
- 选择 wm-iot-sdk
路径 - example
- hello_world
代码
#define LOG_TAG "test"
#include "wm_log.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
static void test_task(void *parameters)
{
while (1) {
wm_log_info("Hello, WinnerMicro !");
vTaskDelay(pdMS_TO_TICKS(1000));
}
vTaskDelete(NULL);
}
int main(void)
{
xTaskCreate(test_task, "test", 512, NULL, 5, NULL);
return 0;
}
构建工程
右键目标工程文件夹 - WM IoT SDK - menuconfig - 设置芯片类型为 W803
右键目标工程文件夹 - WM IoT SDK - build
固件上传
右键目标工程文件夹 - WM IoT SDK
- flash
在输出窗口界面选择 串行监视器
,设置端口号和波特率 115200,点击 开始监视
即可观察到对应的 Hello, WinnerMicro !
输出。
Arduino
1.下载和安装 Arduino IDE ;
2.安装 W800 Arduino 开发板程序包;
采用 board707/w80x_arduino: w806 package for Arduino IDE 方案。
3.附加开发板链接:https://raw.githubusercontent.com/board707/w80x_arduino/hal-v0.6.0/package_w80x_test_index.json
这里使用 Blink 程序举例演示
代码
#include <stdio.h>
#include <Arduino.h>
int led = 7;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(100);
}
编译上传
效果
同样使用串口打印方案举例演示
串口打印
代码
#include <stdio.h>
#include <Arduino.h>
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println("Hello, WinnerMicro!");
delay(500);
}
编译并上传
效果
Linux
这里介绍 Ubuntu 22.04 系统下的工程创建、编译、固件上传测试流程。
环境搭建
- 下载 wm_iot_sdk 和 csky-elf-noneabiv2-tools 工具链
打开 Ubuntu 终端
- 安装 CMake
sudo apt-get install cmake
- 安装 Ninja
sudo apt-get install ninja-build
- 安装 Ccache
sudo apt-get install ccache
- 安装 Python3
sudo apt-get install python3
- 安装 Toolchain 工具链
- 安装 Python 依赖包
python -m pip install --user -r /home/ljl/wm_iot_sdk/tools/wm/requirements.txt
环境变量设置
- 将 CMake 添加至环境变量
export PATH=/home/user_name/tools/cmake/bin:$PATH
- 将 Ninja 添加至环境变量
export PATH=/home/user_name/tools/ninja:$PATH
- 将 Ccache 添加至环境变量
export PATH=/home/user_name/tools/ccache:$PATH
- 将 Python 添加至环境变量
export PATH=/home/user_name/tools/python:$PATH
- 将 Toolchain 添加至环境变量
export PATH=/home/user_name/tools/csky-elfabiv2-tools/bin:$PATH
- 设置 WM IoT SDK 环境变量
export WM_IOT_SDK_PATH=/home/user_name/wm_iot_sdk
- 将 wm.py 工具添加至环境变量
export PATH=$WM_IOT_SDK_PATH/tools/wm:$PATH
至此, Linux 系统下的运行环境搭建完成。
工程编译
打开 SDK 中的目标例程
cd /home/user_name/wm_iot_sdk/examples/hello_world
设置芯片类型
wm.py set-soc <type>
默认芯片类型为 W800。可执行 wm.py set-soc --list-socs
查看当前支持的所有芯片类型。
配置工程
wm.py menuconfig
可以跳过,使用默认参数即可。
编译工程
python 执行 cmake 编译
wm.py build
烧录上传
运行以下命令
wm.py flash -p PORT
其中 PORT 是当前开发板占据的端口 ,如 /dev/ttyUSB0
.
串口监测
通过指令
wm.py monitor -p PORT
实时显示串口输出的信息。
或通过指令
wm.py flash monitor -p PORT
完成固件上传和串口监测。
总结
本文介绍了联盛德微电子 W803-Pico 开发板的基本信息、环境搭建、工程测试等内容,包括开发板功能、主控参数及特点等信息,测试项目包括 Blink、串口打印等,为后续的深入开发和 DIY 创新做好铺垫,也为相关应用设计提供了参考。