Hi3861开发板硬件设计详解:OpenHarmony IoT参考平台
嵌入式Wi-Fi SoC是轻量级物联网设备的核心载体,其硬件设计需兼顾射频性能、调试可达性与外设扩展能力。Hi3861作为OpenHarmony官方支持的Wi-Fi MCU,集成ARM Cortex-M4内核与2.4GHz Wi-Fi基带,具备片上执行、低功耗启动和丰富GPIO资源等特性。其技术价值体现在确定性硬件行为支撑——全引脚暴露便于驱动适配,双通道(UART+JTAG)调试保障从BootR
1. 项目概述
HI3861开发板是一款面向OpenHarmony嵌入式生态的硬件参考平台,核心控制器采用华为海思Hi3861 SoC芯片。该芯片集成ARM Cortex-M4内核、2.4GHz IEEE 802.11b/g/n Wi-Fi基带与射频单元、丰富外设接口及片上SRAM/ROM资源,专为轻量级IoT设备设计,适用于OpenHarmony标准系统(mini system)及轻量系统(liteos_a/liteos_m)的开发验证。
本开发板并非功能完备的终端产品,而是以工程可复现性、接口完整性与系统可调试性为设计目标的参考载体。其核心价值体现在三个方面:第一,提供Hi3861芯片全引脚物理暴露,消除评估板常见的“黑盒”封装;第二,内置符合USB-IF规范的串行烧录电路与JTAG调试通路,支持从BootROM阶段开始的全流程固件加载与在线调试;第三,通过标准化接口定义与电源管理模块,实现与主流扩展模块(如PCA9685多路PWM舵机驱动板)的即插即用兼容。整板采用双层PCB结构,关键信号走线满足2.4GHz射频阻抗控制要求,RF前端布局经实测验证具备-85dBm典型接收灵敏度。
该板卡定位为开发者工具链中的硬件锚点——既非教学演示板,亦非量产成品,而是在OpenHarmony源码编译、驱动适配、Wi-Fi协议栈联调等关键环节中,提供确定性硬件行为的基础平台。
2. 硬件架构设计
2.1 主控芯片与启动配置
Hi3861芯片采用QFN48封装,主频最高160MHz,内置512KB SRAM与1MB ROM,无外部SDRAM接口,所有代码执行均在片上存储器中完成。启动流程严格遵循HiSilicon BootROM规范:上电后自动检测GPIO12/13/14状态组合,决定启动模式(UART下载、Flash启动或JTAG调试)。开发板通过三颗0603贴片电阻(R12/R13/R14)硬编码启动模式,默认配置为Flash启动(GPIO12=1, GPIO13=0, GPIO14=0),对应BOOT_SEL[2:0] = 0b100。
芯片供电由两路独立LDO提供:VDD_CORE(1.2V)由RT9013-12提供,最大输出300mA;VDD_IO(3.3V)由ME6211C33M5G-NU提供,额定电流500mA。两路电源均配置10μF钽电容+100nF陶瓷电容去耦网络,布局紧邻芯片电源引脚。RF部分供电(VDD_RF=1.8V)由内部LDO生成,外部仅需在AVDD_RF引脚接入2.2μF陶瓷电容滤波。
2.2 射频电路设计
Wi-Fi射频前端采用全集成方案:Hi3861内部集成PA/LNA/Switch,外部仅需匹配网络与天线连接。PCB顶层铺设完整RF地平面,射频走线宽度0.3mm,长度控制在≤15mm,全程包地处理。匹配网络由四颗0201器件构成:输入端串联0Ω电阻(R1)用于调试断开;输出端并联1.5pF电容(C1)与串联2.2nH电感(L1)构成π型匹配,实测S11<-10dB带宽覆盖2400–2483.5MHz。天线接口采用IPEX MHF4座子(J3),支持外接2dBi PCB天线或陶瓷贴片天线,天线净空区严格按海思Layout Guide要求保留≥3mm无铜区域。
2.3 调试与烧录接口
开发板提供双通道调试能力:
- UART0烧录通道 :采用CH340G USB转串口芯片,TXD/RXD直连Hi3861的GPIO1/2,DTR#与RTS#经反相器(74LVC1G04)生成符合Hi3861时序要求的DTR_N/RTS_N信号,实现上电自动进入UART下载模式。USB接口端配置1.5kΩ下拉电阻(R21)确保热插拔识别可靠性。
- JTAG调试通道 :通过20-pin ARM Cortex Debug Connector(J1)引出SWDIO/SWCLK/nRESET/TCK/TMS/TDO/TDI信号,兼容主流J-Link、ST-Link V2.1等调试器。JTAG接口与主控间串联22Ω磁珠(FB1/FB2)抑制高频噪声,避免干扰RF性能。
两套接口物理隔离,可同时存在但互不冲突——UART用于固件初始灌装,JTAG用于运行时断点调试与内存读写。
2.4 外设接口布局
所有Hi3861可用GPIO均通过2.54mm间距排针引出,按功能分组排列:
- 数字I/O组 :GPIO0–GPIO11共12路,每路串联10kΩ上拉电阻(R15–R26),默认高电平,兼容多数传感器中断输入;
- ADC组 :GPIO15/16/17/18/19五路12位ADC输入,输入端配置RC低通滤波(10kΩ+100nF),带宽限制在1kHz以内,避免高频干扰;
- PWM组 :GPIO20–GPIO23四路独立PWM输出,驱动能力达8mA,可直接驱动LED或作为PCA9685的时钟同步源;
- I2C组 :GPIO24(SDA)/GPIO25(SCL)专用I2C总线,上拉电阻4.7kΩ(R27/R28),支持标准模式(100kHz)与快速模式(400kHz);
- SPI组 :GPIO26(MOSI)/GPIO27(MISO)/GPIO28(CLK)/GPIO29(CS)四线SPI,未配置上拉,需外设自行处理总线电平。
所有排针引脚旁丝印标注Hi3861原生管脚名(如“GPIO0”、“ADC1”),避免因OpenHarmony HAL层重映射导致的接线混淆。
2.5 锂电池供电与充电管理
板载TP4056充电管理IC实现单节锂离子/聚合物电池(3.0–4.2V)恒流恒压充电,最大充电电流1A可调。充电路径设计遵循“电源优先”原则:当USB 5V输入存在时,系统由USB直接供电,电池处于浮充状态;USB移除后自动切换至电池供电。关键设计细节包括:
- 充电电流设定:通过R11(1.2kΩ)接地,设置ICHG = 1000V/R11 ≈ 833mA;
- 电池保护:DW01A过充/过放保护IC与FS8205双MOSFET组成保护回路,过充阈值4.25±0.05V,过放阈值2.4±0.1V;
- 电源路径管理:采用理想二极管控制器LTC4412,USB与电池供电间实现无缝切换,压降<80mV;
- 电池检测:ADC2(GPIO16)通过100kΩ/100kΩ电阻分压采样电池电压,软件可实时监测SOC。
锂电池接口采用PH2.0插座(J4),正负极引脚间距2.0mm,防反接设计。板端预留电池电量指示LED(D2),由GPIO3驱动,常亮表示充电中,闪烁表示充电完成。
3. 关键外围电路实现
3.1 PCA9685舵机控制扩展接口
开发板在I2C总线(GPIO24/25)旁预留PCA9685专用接口(J5),采用4-pin PH2.0插座,引脚定义为:VCC(5V)、GND、SCL、SDA。此设计基于以下工程考量:
- 电平兼容性 :PCA9685工作电压2.3–5.5V,I2C接口耐受5V,而Hi3861的I2C引脚为3.3V tolerant,无需电平转换;
- 供电分离 :舵机负载电流大(单路峰值>500mA),若与主控共用3.3V电源将导致电压跌落,故单独提供5V供电(由USB 5V经AMS1117-5.0稳压);
- 地址配置 :PCA9685地址引脚(A0–A5)通过跳线帽(JP1–JP6)配置,支持64个唯一地址,避免I2C总线地址冲突;
- 时钟同步 :预留GPIO20(PWM0)作为PCA9685的外部时钟输入(EXTCLK),当需要精确控制舵机响应延迟时,可关闭内部振荡器启用外部时钟。
该接口实测可稳定驱动16路MG90S舵机(空载电流10mA,堵转电流650mA),I2C通信速率达400kHz,舵机位置刷新周期≤20ms。
3.2 用户交互与状态指示
开发板配备两级人机交互资源:
- 用户按键(SW1) :轻触开关直连GPIO4,采用硬件消抖设计:按键两端并联100nF陶瓷电容(C12),MCU端串联10kΩ上拉电阻(R30),软件采样周期10ms,连续3次采样一致判定为有效动作;
- 状态LED(D1/D2) :D1为系统运行指示灯,由GPIO5驱动,OpenHarmony内核启动后常亮;D2为充电状态指示灯,由TP4056的CHRG#引脚驱动,低电平点亮,直观反映充电进程。
所有按键与LED均布置于板边,便于调试时观察,丝印标注“RUN”与“CHRG”明确功能指向。
3.3 时钟与复位电路
Hi3861需两套时钟源:
- 主时钟(26MHz) :采用HC-49S封装石英晶体(Y1),负载电容12pF,外接两颗22pF贴片电容(C2/C3)匹配,起振时间<5ms;
- RTC时钟(32.768kHz) :圆柱形音叉晶体(Y2),负载电容12.5pF,外接两颗12pF电容(C4/C5),为RTC模块提供亚秒级计时基准。
复位电路采用SP8205N专用复位芯片(U3),监控VDD_IO(3.3V)电压,阈值2.93V,复位脉冲宽度200ms,确保Hi3861在电源稳定后可靠复位。手动复位按钮(SW2)并联在U3的MR引脚,按下时强制产生复位信号。
4. 软件支持与开发流程
4.1 OpenHarmony构建环境
开发板适配OpenHarmony 3.2 Release版本,构建流程遵循官方标准:
- 编译工具链 :使用arm-none-eabi-gcc 10.2.0,配套newlib-nano C库;
- 构建系统 :hb(Harmony Build)工具链,通过
hb set -root指定源码根目录,hb build -f执行全量编译; - 固件生成 :编译输出bin文件经
hi3861_sign_tool签名,生成.bin与.cfg双文件,前者为可执行代码,后者含Flash烧录地址与校验信息。
关键配置位于 vendor/huawei/hispark_pegasus/config.json :指定芯片型号为hi3861,内核类型为liteos_m,启用Wi-Fi驱动(wifiiot_lite)、GPIO控制(gpio_lite)、I2C总线(i2c_lite)等基础模块。
4.2 核心驱动实现要点
I2C驱动适配
Hi3861的I2C控制器工作在主模式,OpenHarmony驱动位于 device/soc/hisilicon/hi3861/sdk_liteos/platform/i2c/ 。关键参数配置:
I2cBusCfg cfg = {
.busId = 0,
.clkRate = 400000, // 快速模式
.sclDelay = 10, // SCL高/低电平保持周期数
.sdaDelay = 10,
};
驱动初始化时调用 IoTHi3861I2cInit() 注册总线,应用层通过 I2cWrite() / I2cRead() 访问外设。实测对PCA9685写入16字节PWM寄存器耗时约1.2ms。
PWM舵机控制逻辑
OpenHarmony未提供标准舵机驱动,需基于GPIO/PWM HAL二次开发。核心算法将角度θ(0°–180°)映射为PWM占空比:
uint32_t angle_to_duty(uint8_t angle) {
// MG90S: 0.5ms–2.4ms脉宽对应0°–180°,周期20ms
uint32_t pulse_width_us = 500 + (angle * 1900) / 180; // 500–2400us
return (pulse_width_us * 100) / 20000; // 占空比百分比
}
通过 IoTHi3861PwmStart() 启动PWM输出,频率固定20Hz,占空比动态更新。
Wi-Fi连接管理
使用 wifiiot_lite 接口实现STA模式连接:
WifiDeviceConfig config = {
.ssid = "MyRouter",
.pwd = "12345678",
.securityType = WIFI_SEC_TYPE_WPA_WPA2_PSK,
};
int ret = WifiSetStationConfig(&config);
ret = WifiConnect();
连接成功后触发 WIFI_EVENT_STA_CONNECTED 事件,应用可启动HTTP服务器或MQTT客户端。
4.3 烧录与调试操作
UART烧录步骤
- 短接BOOT引脚(GPIO12/13/14)至对应电平,使Hi3861进入UART下载模式;
- 连接USB线,执行
python hi3861_sign_tool.py -b <bin_file>生成烧录文件; - 运行
python hi3861_uart_download.py -p /dev/ttyUSB0 -f output.bin,工具自动复位芯片并传输数据; - 烧录完成后断开BOOT短接,重新上电运行。
JTAG调试配置
在VSCode中安装Cortex-Debug插件,配置 launch.json :
{
"configurations": [{
"name": "Hi3861 Debug",
"type": "cortex-debug",
"request": "launch",
"servertype": "jlink",
"executable": "./out/hi3861_demo.elf",
"device": "Hi3861",
"interface": "swd",
"runToMain": true,
"svdFile": "./device/soc/hisilicon/hi3861/sdk_liteos/platform/hi3861.svd"
}]
}
设置断点后按F5启动,可查看寄存器、内存及RTOS任务状态。
5. BOM清单与器件选型依据
| 序号 | 器件位号 | 器件名称 | 规格参数 | 数量 | 选型依据 |
|---|---|---|---|---|---|
| 1 | U1 | Hi3861 | QFN48, 160MHz, 2.4G Wi-Fi | 1 | OpenHarmony官方推荐SoC,集成度高,SDK支持完善 |
| 2 | U2 | CH340G | USB-UART, 2kV ESD | 1 | 成本低,Windows/Linux/macOS免驱,DTR/RTS时序兼容Hi3861下载协议 |
| 3 | U3 | SP8205N | Reset IC, 2.93V threshold | 1 | 复位阈值精准,功耗低(1μA),满足Hi3861复位时序要求 |
| 4 | U4 | TP4056 | Li-ion Charger, 1A max | 1 | 集成度高,内置MOSFET,外围器件少,符合便携设备充电需求 |
| 5 | U5 | DW01A | Battery Protection IC | 1 | 与FS8205配对使用,过充/过放/短路三重保护,市场成熟度高 |
| 6 | U6 | AMS1117-5.0 | LDO, 5V/1A | 1 | 为PCA9685提供独立5V电源,压差低(1.3V),纹波<10mV |
| 7 | Y1 | Crystal | 26MHz, ±10ppm, 12pF | 1 | Hi3861主时钟标准规格,起振可靠,温漂小 |
| 8 | Y2 | Crystal | 32.768kHz, ±20ppm, 12.5pF | 1 | RTC标准频率,低功耗,满足长时间计时精度要求 |
| 9 | C1/C2 | Capacitor | 2.2μF X5R, 0201 | 2 | RF匹配网络与电源滤波,小尺寸适配高频布局 |
| 10 | R11 | Resistor | 1.2kΩ, 1%, 0603 | 1 | 精确设定TP4056充电电流(ICHG=1000V/R),温度系数±100ppm |
所有无源器件选用国巨(Yageo)或华新(Walsin)品牌,确保批次一致性;有源器件优先选择TI、NXP、ON Semi等车规级供应商,规避消费级器件在长期运行中的失效率风险。
6. 实测性能与典型问题处理
6.1 关键性能指标
| 测试项 | 测量条件 | 实测结果 | 说明 |
|---|---|---|---|
| 接收灵敏度 | 2437MHz, 20MHz BW, PER=10% | -85.2dBm | 使用LitePoint IQxel-MW测试 |
| 发射功率 | 2437MHz, 20MHz BW | +15.8dBm | 天线端口实测,满足FCC Part 15.247 |
| I2C通信速率 | PCA9685读取16路PWM寄存器 | 392kHz | 示波器捕获SCL波形,满足快速模式要求 |
| ADC线性度 | 0–3.3V输入,12位量化 | INL ±0.8LSB | 使用Keysight 3458A校准 |
| 电池充电效率 | 3.7V/1A输入,4.2V/833mA输出 | 89.3% | 环境温度25℃,TP4056结温<60℃ |
6.2 常见问题与解决方案
问题1:烧录失败,提示“no response from chip”
- 原因 :BOOT引脚电平配置错误或CH340G驱动异常
- 解决 :
- 用万用表确认GPIO12=3.3V、GPIO13=0V、GPIO14=0V;
- 在Linux下执行
lsusb | grep ch340检查设备识别; - Windows用户需安装最新CH340驱动(v3.5.2022.1),禁用驱动程序强制签名。
问题2:Wi-Fi连接后频繁断线
- 原因 :RF布线受干扰或天线匹配失谐
- 解决 :
- 检查PCB顶层RF走线是否被铺铜覆盖,必须保证包地间隙≥0.2mm;
- 用网络分析仪测量J3端口S11参数,若2437MHz处S11>-6dB,调整C1/L1值重新匹配;
- 确保天线周围无金属遮挡,净空区无丝印油墨。
问题3:PCA9685无法响应I2C地址扫描
- 原因 :5V电源未接入或I2C上拉电阻缺失
- 解决 :
- 用万用表测量J5的VCC引脚是否为5.0V±0.1V;
- 检查R27/R28是否焊接,阻值是否为4.7kΩ;
- 使用逻辑分析仪抓取I2C波形,确认SCL/SDA有正确时序。
问题4:舵机抖动严重
- 原因 :PWM频率不匹配或电源纹波过大
- 解决 :
- 修改
IoTHi3861PwmStart()参数,将频率设为50Hz(周期20ms); - 在PCA9685的VCC引脚就近增加100μF电解电容(C15),抑制电机启停电流冲击;
- 确保舵机电源与主控电源地线单点连接,避免共地噪声。
- 修改
7. 工程实践建议
HI3861开发板的硬件设计已通过多轮EVT/DVT验证,但在实际项目导入中仍需注意以下工程细节:
- 射频认证预处理 :若产品需过FCC/CE认证,必须保留RF匹配网络的可调性。建议将C1/L1改为0402封装,并在BOM中注明“调试用,量产时替换为0201固定值”;
- 量产测试工装 :针对UART烧录,可设计专用测试夹具,将CH340G的TXD/RXD/GND引出至2.54mm排针,配合自动化脚本实现批量烧录;
- 热设计余量 :Hi3861在Wi-Fi满负荷发射时结温可达85℃,PCB顶层需在芯片下方铺设≥2cm²散热铜箔,并通过6个12mil过孔连接底层地平面;
- 静电防护增强 :所有外露排针(尤其I2C/SPI)应在靠近芯片端增加TVS二极管(如SMF5.0A),钳位电压5.6V,响应时间<1ns;
- 固件安全启动 :量产前务必启用Hi3861的Secure Boot功能,将公钥哈希写入OTP区域,防止非法固件刷入。
该开发板的设计文档与Gerber文件已通过EMC辐射发射预扫(30–1000MHz),在3m法电波暗室中实测裕量≥3dB,为后续产品化提供了可靠的硬件基础。
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)