利用PSoC1实现基于WPC协议的电力发送器设计
扫描二维码
随时随地手机看文章
1, 无线充电概述
无线充电技术在消费类市场表现出巨大的潜力。在不使用连线的情况下给电子设备充电不但可为便携式设备用户提供一种便利的解决方案,而且还让广大设计人员能够寻找到更具创新性的问题解决方法。许多电池供电型便携式设备均能受益于这种技术,从手机到电动汽车不一而足。
目前,无线充电技术主要有两个联盟A4WP和WPC。A4WP是以三星和高通牵头的6家企业成立了无线充电联盟,而WPC主要有TI、三星、HTC、LG、海尔等109家成员。WPC主要是采用线圈耦合的方式来实现能量转移,目前主要为5W产品的低功耗应用制定规范,也在尝试为高功率产品制定规范。它可实现在一个平面上为多个电器进行充电,充电板的发射端与充电产品接收端距离为5毫米。而A4WP正在促进共振方式无线充电技术的发展。充电板与智能机装置拥有同样频率的共振线圈,通过共振来充电,因此即便智能手机不与充电板接触也可进行充电。另外,该技术无需考虑电波,可为多台智能产品同时充电,并可通过非金属表面的物体进行充电,使用起来非常方便。
除了两大联盟的技术方式外,也存在其他几种充电方式,比如以Wildcharge、Duracell两家公司为主的传导式充电、Powermat和Palm的无线充电技术,以及以Powercast公司为代表的RF射频充电技术等等,但无线充电方式还远不止这些。
2,WPC介绍
电感耦合方法可以实现高效和通用的无线充电。为了便于使用并且让设计人员和消费者都受益,无线充电联盟 (WPC) 制定出了一种标准。在供电设备(电力发射器,充电站)和用电设备(电力接收器,便携式设备)之间创建了互操作性。WPC成立于2008年,由亚洲、欧洲和美国的各行业公司组成,其中包括电子设备制造厂商和原始设备制造商 (OEM)。WPC 标准定义了电感耦合(线圈结构)的类型,以及低功耗无线设备所用的通信协议。在这种标准下工作的任何设备都可以与任何其他 WPC 兼容设备配对。这种方法的一个重要的好处是其利用这些线圈来实现电力发送器和电力接收器之间的通信。典型的应用图,请参见图 1。
图1, WPC无线充电示意图
电力传输方向始终是从电力发送器到电力接收器。电力发送器的关键电路是用于向电力接收器传输电力的一次线圈、驱动一次线圈的控制单元以及解调一次线圈电压或者电流的通信电路。
电力接收器将自己作为电力发送器的一个兼容设备,同时也提供配置信息。一旦发射器开始电力传输,电力接收器就向电力发送器发送一些误差数据包,从而要求或多或少的电力。一旦接收到一个“终止电力”消息,或者如果1.25秒以上都没有接收到数据包,则电力发送器停止供电。没有电力传输时,电力发送器则进入低功耗待机模式。
3,基于PSoC1的电力发送器设计
电力发送器(其通常为一个平面用户将电力接收器放置在上面)连接至电源。符合WPC标准的设备线圈起到了一个50%占空比谐振半桥的作用,其输入为19-VDC(±1 V)。如果电力接收器需要或多或少的功率,则线圈频率会发生变化,但会保持在110到 205kHz 之间,具体取决于功率需求。
如第二部分介绍,电力发送器的关键电路是用于向电力接收器传输电力的一次线圈、驱动一次线圈的控制单元以及解调一次线圈电压或者电流的通信电路。图2是采用Cypress的PSoC1对一次线圈的控制及驱动电路,它采用的是A1设计。
图2, WPC电力发送器驱动电路
其中,LM5107是线圈驱动芯片, 20N06HD是MOSFET管,Cp(约为100nF)是电路所有电容总和,Lp是一次线圈,A1设计中其值为24uH。
电力发送器的通信部分主要为解调来自电力接收器的电压信号,并解析数据包。通信过程中采用的是差分双向编码(differential bi-phase encoding)方式,每个码元持续时间开始时电平都发生跃变,如果在半个码元持续时间后电平再次跃变,则代表1;而在整个码元持续时间内电平不发生跃变,则代表0.如下图3所示:
图3,WPC通信编码
在PSoC Designer中实现的原理图如下图4所示,
图4,PSoC Designer设计原理图
从上图可以看到,对线圈的驱动控制采用的是PWM模块PWMDB8_1,其与Port2_5和Port2_7相连以驱动控制LM5107芯片。 解调来自电力接收器的电压信号,PSoC1使用了4个元件(Decode_Timer,PGA_1, COMP_1和OneShot_1), Decode_Timer模块用来计时,PGA_1对接受到的微笑信号放大, COMP_1把模拟信号变数字信号,OneShot_1对信号进行同步并产生中断,软件就根据Decode_Timer计算的OneShot_1两次中断的时间间隔来解码协议。当两次中断间隔为:
1T----解码为逻辑1
1.5T----如果第一次收到1.5T间隔的中断,解码为两个bit,逻辑1和逻辑0
如果第二次收到1.5T间隔的中断,解码为逻辑0
2T---解码为两个逻辑0
这里“T”为1bit传输时间
其软件实现如下所示:
cur_time = Decode_Timer_COMPARE_REG;
if (cur_time > prev_time)
{
delta = 250 - cur_time;
delta += prev_time + 1;
}
else delta = prev_time - cur_time;
//estimate the delta between next samples taking into accoun timer overflow
prev_time = cur_time;
if ((delta > ONE_T_LOWER) && (delta < ONE_T_UPPER))/*1T*/
{
//ADD_BIT(1,WPTdata);
if (bit_num < WPTBITSCOUNT)
{
WPTdata >>= 1;
WPTdata |= 0x80;
parity ^=1;
}
else parity_received = 1;
bit_num++;
}
else if ((delta > ONEANDHALF_T_LOWER) && (delta < ONEANDHALF_T_UPPER)) /*1,5T*/
{
if(flag==0)
{
if (bit_num < WPTBITSCOUNT)
{
WPTdata >>= 1;
WPTdata |= 0x80;
parity ^=1;
}
else parity_received = 1;
bit_num++;
if (bit_num < WPTBITSCOUNT) WPTdata >>= 1;
else parity_received = 0;
bit_num++;
flag = 1;
}
else
{
if (bit_num < WPTBITSCOUNT) WPTdata >>= 1;
else parity_received = 0;
bit_num++;
flag = 0;
}
}
else if ((delta > DOUBLE_T_LOWER) && (delta < DOUBLE_T_UPPER))/* 2T*/
{
if (bit_num < WPTBITSCOUNT) WPTdata >>= 1;
else parity_received = 0;
bit_num++;
if (bit_num < WPTBITSCOUNT) WPTdata >>= 1;
else parity_received = 0;
bit_num++;
}
else
{
state = next_state = RX_ERROR;
time_out = TIME_OUT_ERROR;
return;
}
4,实验和测试
经测试,该电力发送器工作正常,接收器能正常充电,PSoC1对一次线圈控制的PWM波形如图5所示。
图5,PSoC1 PWM控制波形
电力接收器发送的调制信号电压及电力发送器为解调而产生的中断信号波形如下图所示:
图6, 调制及解调信号
Channel2是电力接收器的线圈电压,其附加了通信用的电压,即调制信号;channel1是电力发送器为解调而产生的对应中断信号,软件将根据channel1两上升沿之间的时间间隔来解码通信数据。
5, 结束语
本文对无线充电及WPC协议做了简要介绍,并提供了基于PSoC1对WPC协议的实现方法。目前该方案能与标准的电力接收器通信工作,但其成品需要通过WPC规定的第三方的测试论证,所以到产品化还有一段路要走。
1次