首页 > 编程知识 正文

QI无线充电协议,华为无线充电器

时间:2023-05-05 06:47:14 阅读:9515 作者:2763

一、无线充电的基本原理

无线充电的基本原理是我们平时常用的开关电源原理。 区别在于没有磁介质耦合。 那么,就需要利用磁共振来提高耦合效率。 具体方法是在发送侧和接收侧线圈上串联连接电容器,发送线圈处理谐振状态。 接收侧的线圈也是同样的

下图为实际的电路应用

无线充电动作的基本原理图

发送板主要由控制ic、驱动ic、发送线圈、谐振电容器构成

这是接收线圈,由于捆扎数比发送线圈多,所以能够减小共振容量,容易安装在手机后盖

一.无线充电通信协议

阐述了原理,为什么无线充电需要协议呢? 理由如下

1、发送板需要确认接收线圈是否已经放置在发送线圈上,如果没有接收线圈,发送侧不工作,降低功耗

2、把金属制品放在线圈上会产生涡流,导致金属物品发热,比如把钥匙放在发射台,钥匙就会发热。 我们需要避免这种情况

3、手机充电时的电流不同。 例如,正常充电时电流下降到1A,充满电时电流下降到几十MA。 那么,如果送电板的电力一直恒定,手机充满电时送电线圈接收侧的电压会变高。 这是负载变小时电压上升的原因。 因此,负载改变时,输电线圈的电力也需要调节。 需要像开关电源那样进行电压反馈控制

解决方法:

1根据无线通信机构判断是否为金属制品,或者是否设置有接收线圈。 例如,接收侧线圈必须空出间隙发送确认信号

2通过无线通信机构调节发送侧功率

具体方法类似于RFID,不同之处在于无线充电是单向通信,接收方发送信号,发送方接收信号

主要通信流程如下

1 )接通电源后,发送侧线圈发送脉冲信号,接收侧线圈接收信号后返回识别分组信号,发送功率设定等的结构分组

2 )此时,发送线圈只要接收到来自接收线圈的信号就正常动作。 此时,接收线圈必须在规定时间内发送信号强度分组来调整功率。 如果在规定时间内发送线圈没有接收到信号,则认为接收线圈已经不在发送板上,重新建立握手

各种通信数据包形式

软件包的格式如下

这是数据的编码格式,频率为2KHz

调制方式有两种,下图为电容调制和电阻调制,电容调制是接收板上常用的电路

三.实验验证

通过单片机模拟接收线圈控制集成电路,观察发射板的供电情况,我使用电阻调制。 因为比较简单,所以主要看能否通信。 以下是自己写的代码

这个包的格式

引线: 11个-25个1

页眉:

常用的是0x 01,0x 51,0x 71,0x 03,0x 04,

订购顺序为0x01、0x71、0x51,包的中间间隔小于21ms

然后,0X03和0X04数据包在充电中发出,间隔小于1.5S和23S

信息:这经常会看到我发送的链接的内容

检查:检查标头和数据包信息的异或

以下是使用NV32开发板的程序。 LED3是调制波形。 LED3_On (; 调制MOS晶体管栅极为高电平

语音头(语音) /引导11到25个1,这里使用18个1

{

uint8 i;

for(I=0; i18; I )

{

LED3_On (;

elay_us(250;

LED3_Off (;

elay_us(250;

}

}

语音代码(uint8aa )//字节码

{

uint8 i,j=0;

LED3_Toggle (; //起始位

elay_us(500;

for(I=0; i8; I//数据位

{

if(aa0x01 ) ) )。

{

j=1;

LED3_Toggle (;

elay_us(250;

LED3_Toggle (;

elay_us(250;

}

else

{

LED3_Toggle (;

elay_us(500;

}

aa=1;

}

if(j%2) /检查位({ LED3_Toggle ); elay_us(500; }else{ LED3_Toggle (); elay_us(250; LED3_Toggle (; elay_us(250; } LED3_Toggle (; //停止位Delay_us(250; LED3_Toggle (; elay_us(250; }

语音萍(语音)//萍包

{

Header (;

代码(0x 01;

代码(0x 80;

代码(0x 01 ^0x 80;

LED3_Off (;

}

语音识别(语音识别)//识别软件包

{

Header (;

代码(0x 71;

代码(0x 10 );

代码(0x 00;

代码(0x 01;

代码(0x 00;

代码(0x 01;

代码(0x 00;

代码(0x 00;

代码(0x 710 x 100 x 000 x 010 x 000 x 010 x 010 x 00 ^0x 00 );

LED3_Off (;

}

语音配置(语音)//配置软件包

{

Header (;

代码(0x 51;

代码(0x0a;

代码(0x 00;

代码(0x 00;

代码(0x 00;

代码(0x 00;

代码(0x 510 x 0a0x 000 x 000 x 00 ^0x 00 );

LED3_Off (;

}

语音控制器(语音) /错误控制包

{

Header (;

代码(0x 03;

代码(0x02;

代码(0x 03 ^0x 02;

LED3_Off (;

}

语音(语音)//接收电源包

{

Header (;

代码(0x 04;

代码(0x Ff );

代码(0x 04 ^0x ff );

LED3_Off (;

}

输入主(语音) )。

{

sysinit (;

sy stick _ set callback (sy stick _ callback );

elay_us(500;

LED3_Init (;

萍(; dlay_ms(10;

id (; dlay_ms(10;

config (; elay_ms(50;

while(1)。

{

ConErr (; //修改数据包数据可以改变功率

elay_ms(500;

}

}

将IO连接到调制MOS管后,发射台可以继续供电。 表示通信协议正确。 在其他开发板上尝试后,可以自己设计无线充电接收线圈。

这次用单片机设计无线充电发射板控制集成电路,难点主要是接收信号的处理和解码

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。