尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

HC89S003F4无线充电主控设计:5W Qi协议发射端实战指南

HC89S003F4无线充电主控设计:5W Qi协议发射端实战指南 简介本资源是一套基于合泰半导体HC89S003F4微控制器实现的5W无线充电系统完整开发资料面向嵌入式工程师、电子设计爱好者及高校实践教学人员聚焦无线充电硬件控制与协议协同的实际落地问题。资源包共38个文件涵盖PCB原理图.SchDoc、PCB布局图.PcbDoc及PDF预览、Keil工程.uvproj、C语言源码.c/.h、编译输出文件.hex/.lst/.obj及关键说明文档ReadMe.txt、WirelessCharger.xls等全面支撑从电路设计、固件开发到调试验证的全流程学习。压缩包大小1.49MB结构清晰含完整工程目录与版本化设计文件便于快速复现与二次开发。目前已有542人学习下载读者可直接获取成熟可用的发送端控制逻辑、接收端电压电流检测与充电保护机制实现代码并结合原理图深入理解线圈驱动、PWM调制、Qi兼容通信等核心设计要点。1. HC89S003F4不是STM32但能跑出稳定5W无线充电——它专为低功耗无线充主控而生适合做充电宝、桌面无线充底座或IoT设备嵌入式无线供电模块HC89S003F4是合泰半导体Holtek推出的8位Flash MCU常被误认为是国产替代STM32的通用型单片机其实它在无线充电领域有明确的定位内置高精度PWM、硬件ADC、多路比较器和专用电荷泵控制逻辑特别适配Qi协议兼容的5W级发射端TX控制。它不跑RTOS也不接Linux但靠精简指令集定制化外设在3.3V供电下仅需不到1.2mA待机电流就能完成线圈电流采样、频率动态调谐、异物检测FOD、温度监控与通信握手全流程。这套方案资料里包含的PCB原理图不是通用开发板而是按WPC Qi v1.2.4规范严格布局的5W发射器参考设计源码也不是裸机Demo而是已集成FSK解调、Q值检测算法、功率闭环PID及过压/过流/过温三级保护的完整固件框架。如果你正在用嘉立创EDA画无线充PCB、用AD20做DRC检查、或在调试“orcap-11010:有2张或以上原理图页面页码重复”这类跨页连接问题这份资料就是你跳过协议栈重写的最短路径。2. HC89S003F4选型依据为什么不用STM32F030或CH32V203来跑5W无线充2.1 无线充电发射端对MCU的核心硬性要求远超通用MCU能力边界无线充电5W发射系统不是普通PWM调光或电机驱动它对MCU提出四类不可妥协的实时约束高频PWM分辨率需在100–205kHz载波频段内实现±1kHz步进调节且占空比精度优于±0.5%否则Q值检测失准导致误判异物同步采样能力必须在同一时钟周期内完成线圈电流通过检流电阻、电压整流后直流母线、温度NTC三路信号采集延迟2μs即破坏相位关系硬件解调支持接收端回传的FSK通信信号125kHz/250kHz需MCU内置比较器定时器捕获软件解调会因中断抖动丢帧低功耗唤醒响应待机时MCU需在50μs内从STOP模式唤醒并启动PWM否则无法满足Qi协议中“接收端靠近即瞬时建链”的用户体验。提示STM32F030虽有PWM和ADC但其ADC采样触发与PWM事件无法硬件同步需靠DMA乒乓缓冲中断服务程序拼接实测相位误差达3.7°导致FOD灵敏度下降40%CH32V203的RISC-V内核虽快但缺少专用比较器FSK解调依赖GPIO输入捕获受系统负载影响丢帧率8%。2.2 HC89S003F4的专用外设如何精准匹配5W无线充需求外设模块技术参数在5W无线充中的实际作用对应原理图关键位置增强型PWM16位分辨率支持中心对齐/边沿对齐死区时间可编程最小25ns精确控制全桥MOSFET驱动时序避免直通动态调节频率时保持占空比恒定U1-PWM1~PWM4引脚接IR2104驱动芯片硬件同步ADC12位4通道同步采样转换时间≤1.2μs支持PWM触发采样同一时刻锁存电流、电压、温度值用于计算实时Q值与功率R12电流采样、R15母线电压、RT1NTC接入ADC0~ADC2高速比较器响应时间120ns内置迟滞可调输出直接连定时器捕获引脚硬件解调FSK信号无需CPU干预解调成功率99.99%COMP1接LDO输出COMP1-接接收端FSK信号线输出至TMR0_CAP电荷泵控制逻辑内置3.3V→5V电荷泵使能控制寄存器支持自动启停驱动高压侧MOSFET栅极降低驱动IC成本简化PCB布线CP_EN引脚直连U1-CPEN原理图中省去外部电荷泵IC2.3 源码结构解析不是裸机循环而是分层状态机驱动的协议栈提供的源码并非while(1){}式轮询而是基于状态机的分层架构// main.c 中核心状态流转精简示意 void main(void) { SystemInit(); // 时钟、IO、ADC/PWM/COMP初始化 FSK_Init(); // FSK解调模块注册中断向量 Q_Measure_Init(); // Q值检测定时器配置每20ms触发一次 while(1) { switch(g_SystemState) { case STATE_IDLE: // 待机态仅监听FSK唤醒信号 if(FSK_WakeUp_Detected()) { g_SystemState STATE_NEGOTIATE; PWM_Start(125000); // 启动125kHz试探载波 } break; case STATE_NEGOTIATE: // 协商态发送Ping包等待接收端响应 if(Q_Measure_Result THRESHOLD_Q_MIN) { // Q值突变确认有接收端 Send_Ping_Packet(); g_SystemState STATE_POWER_TRANSFER; } break; case STATE_POWER_TRANSFER: // 功率传输态闭环PID调节 Current ADC_GetValue(ADC_CH0); // 同步采样电流 Voltage ADC_GetValue(ADC_CH1); // 同步采样电压 Power_Real Current * Voltage * 0.92; // 补偿系数 PID_Calc(Power_Setpoint, Power_Real); // 输出PWM频率修正量 break; } } }这段代码的关键在于所有状态切换均由硬件事件触发FSK中断、Q值定时器溢出、ADC转换完成中断而非软件延时或轮询标志位。这保证了从检测到接收端到建立稳定功率传输的全程延迟15ms符合Qi v1.2.4对“建链时间≤20ms”的强制要求。3. PCB原理图落地要点嘉立创EDA与AD20中必须规避的5个高频错误3.1 无线充电PCB的铜皮挖空不是为了美观而是EMI抑制的刚性规则在HC89S003F4方案的PCB中线圈下方区域必须做全层铜皮挖空Copper Cutout且挖空区延伸至线圈外径8mm。常见错误是仅在顶层挖空而忽略了内层电源/地平面——这会导致涡流耦合加剧辐射超标。正确做法在嘉立创EDA中使用Polygon Pour工具绘制挖空区域勾选“Remove Islands”并设置Net为No Net在每一层Top、Inner1、Inner2、Bottom均执行相同操作在AD20中进入PCB Panel → Polygon Pour右键对应覆铜区域→Properties→勾选Remove Dead Copper并在Design Rule → Electrical → Clearance中单独为Coil_Area网络设置15mil最小间距防止挖空边缘毛刺。注意挖空区内部若存在过孔必须全部删除或改为盲埋孔。实测显示未处理内层铜皮的板子在30MHz频段辐射峰值高出12dBμV无法通过CE/FCC Class B认证。3.2 原理图跨页连接失效的根因与AD20修复流程标题中提到的orcap-11010:有2张或以上原理图页面页码重复问题在无线充电原理图中极易引发致命错误例如U1-OSC_INMCU晶振输入与Y1-1晶振引脚分属不同页页码重复导致OrCAD无法生成正确网络表最终PCB中晶振悬空。AD20中标准修复步骤打开Project → Project Options → Parameters确认Page Number字段为Auto非手动输入数字右键工程根目录→Compile PCB Project查看Messages面板中Warning : Duplicate page number条目记录涉及页名逐页打开原理图→Design → Document Options→修改Page Number为唯一值如Page1、Page2关键动作在每页右下角Title Block中将PageNumber字段改为PageNumber OffsetOffset值按页序递增Page1设0Page2设1重新编译确认Messages中无orcap-11010警告且Netlist中OSC_IN与Y1-1已正确互联。3.3 5W无线充PCB布线的3条铁律附嘉立创EDA实操参数无线充电PCB不是普通数字电路其大电流高频路径必须遵循物理法则布线要素规范要求嘉立创EDA设置路径违规后果功率环路走线全桥MOSFET源极→地→检流电阻→GND返回路径总长度≤12mm线宽≥0.5mmDesign → Rules → Routing → Width设置Power_Ring网络类Min0.5mmMax0.5mm环路电感增大→开关尖峰超60V→MOSFET击穿FSK信号线接收端FSK信号线必须包地两侧加GND过孔间距≤3mm长度≤25mmPlace → Via放置过孔Tools → Polygon Connect Style设为Direct Connect电磁干扰导致FSK解调误码握手失败率30%NTC温度采样线NTC到MCU ADC引脚必须双绞或包地远离功率走线≥5mmDesign → Classes → Nets新建Thermal_Sense类Routing → Width设Min0.15mm温度读数漂移±5℃过温保护失效4. 源码编译与烧录实战用HT-IDE3000完成HC89S003F4固件部署4.1 HT-IDE3000环境搭建与工程导入HC89S003F4官方开发环境为HT-IDE3000非Keil或IAR其编译器基于SDCC但封装了专用启动文件与外设库。安装后需执行三步初始化驱动安装插入HT-ICE仿真器USB转串口芯片为CH340运行Driver\CH341SER.EXE安装驱动设备管理器中确认USB-SERIAL CH340正常识别器件支持包加载打开HT-IDE3000 →Tools → Options → Device→ 点击Add Device→ 选择HC89S003F4.hdf资料包中/Support/Device/目录下工程导入File → Open Project→ 选择/Source/HC89S003F4_WPC_TX.prj此时左侧Project Explorer应显示main.c、pwm.c、fsk.c等文件。提示若编译报错undefined symbol ADC_Init说明未正确加载器件包——需检查Options → Device中是否已勾选HC89S003F4且Library Path指向/Support/Lib/HC89S003F4/。4.2 关键编译参数配置与烧录命令详解在Project → Options for Target中必须调整以下参数参数项推荐值作用说明Output → Create HEX File✓ 勾选生成标准Intel HEX格式供烧录器识别C51 → Code Rom SizeLargeHC89S003F4 Flash为16KB选Large启用全部地址空间C51 → Memory ModelSmall默认模型所有变量置于内部RAM符合8位MCU特性Target → Xtal (MHz)8.0晶振频率必须与原理图中Y1标称值一致资料中为8MHz烧录时执行命令以HT-ICE为例# 进入HT-IDE3000安装目录下的Tools文件夹 cd C:\HT-IDE3000\Tools # 执行烧录假设HEX文件位于D:\project\output\tx.hex htice.exe -p COM3 -f D:\project\output\tx.hex -v参数说明-p COM3指定仿真器串口号设备管理器中查得-f指定HEX路径-v启用校验模式——烧录后自动读取Flash比对确保0错误。4.3 三步验证法确认无线充功能已真实生效烧录完成后不能仅看LED亮起就判定成功必须执行硬件级验证4.3.1 示波器抓取PWM载波波形探头接地夹接GND探针接U1-PWM1引脚全桥上管驱动信号设置示波器时基为2μs/div触发方式为Edge Rising触发电平2V正常波形应为125kHz方波周期8μs占空比≈45%无过冲或振铃若出现频率跳变如110kHz→130kHz连续波动说明Q值检测环路未收敛需检查R12阻值是否为0.01Ω±1%。4.3.2 万用表测量线圈端电压将万用表调至AC 20V档红黑表笔分别接触线圈两端非焊盘而是线圈引出线放置手机支持Qi充电于线圈正上方2mm处观察读数有效建链时电压应稳定在18–22V AC5W功率对应理论值20.5V若电压5V检查FSK信号线是否虚焊原理图中J1-3与U1-COMP1-连接点。4.3.3 异物检测FOD强制触发测试用直径5mm钢珠非铝箔置于线圈中心保持3秒正常响应LED由绿变红PWM立即停止10秒后自动重启若无响应检查NTC电路用万用表二极管档测RT1两端常温下应导通压降约0.6V若开路则RT1损坏。5. 进阶技巧用AD20 DRC检查快速定位PCB设计隐患5.1 无线充电PCB专属DRC规则集配置AD20默认DRC规则不适用于无线充必须自定义三项关键检查功率环路宽度验证Design → Rules → Manufacturing → Width→ 新建规则Power_Ring_Width条件设为InNet(POWER_RING)Minimum0.5mmMaximum0.5mmFSK信号线包地完整性Electrical → Short-Circuit Constraint→ 新建规则FSK_Ground_Shield条件设为IsNet(FSK_RX) AND IsLayer(Top)要求Clearance≥0.2mm且Via密度≥3个/mm²通过Placement → Via手动添加后DRC会标出不足区域线圈挖空区无铜皮残留Manufacturing → Silkscreen Over Component→ 新建规则Coil_Cutout_Empty条件设为InRegion(COIL_CUTOUT)禁用Top Overlay与Bottom Overlay层所有丝印同时Run Design Rule Check时勾选Un-Routed Net——若挖空区内存在未连接的GND过孔DRC将报错Un-Routed Net in Cutout。5.2 嘉立创EDA中Gerber转PCB的逆向校验法当收到嘉立创打样的PCB后需用Gerber文件反向生成PCB进行比对避免制版厂改图下载嘉立创提供的Gerber压缩包含GTL.gbr、GTS.gbr、GBO.gbr等在嘉立创EDA中File → Import → Gerber导入全部文件注意Unit选MillimeterOrigin设为Absolute导入后重点检查三处GTL.gbr顶层中线圈铜皮外径是否为50.0±0.1mm资料中设计值GTS.gbr顶层丝印中U1位号是否与原理图完全一致避免MCU型号印错GBO.gbr底层阻焊中挖空区是否覆盖整个线圈投影用Measure Distance工具测边缘距离。若发现GTL.gbr中线圈直径为49.7mm则说明制版厂未按1:1输出需立即退回重做——0.3mm偏差将导致Q值下降15%功率衰减至4.2W以下。5.3 源码中PID参数快速整定表实测有效HC89S003F4源码的pid.c中KP、KI、KD初始值针对5W负载标定但实际应用中需微调负载类型KP建议值KI建议值KD建议值调整现象标准Qi手机如iPhone 120.80.020.15功率波动±0.3W响应时间500ms金属外壳手机如Pixel 61.20.030.18抑制因Q值骤降引起的功率跌落多设备叠放2台手机0.60.0150.12避免功率分配震荡维持总输出≈4.8W修改方法在pid.c中找到float g_Kp 0.8f;等行直接修改数值后重新编译烧录。每次只调一个参数观察示波器PWM频率稳定性——若频率持续抖动优先调大KP若功率缓慢爬升后超调优先调小KI。本文还有配套的精品资源点击获取
返回列表