微波EDA网,见证研发工程师的成长! 2025婵犵數濮烽弫鍛婃叏閹绢喗鍎夊鑸靛姇缁狙囧箹鐎涙ɑ灏ù婊呭亾娣囧﹪濡堕崟顓炲闂佸憡鐟ョ换姗€寮婚敐澶婄闁挎繂妫Λ鍕磼閻愵剙鍔ゆ繛纭风節瀵鎮㈤崨濠勭Ф闂佸憡鎸嗛崨顔筋啅缂傚倸鍊烽懗鑸靛垔椤撱垹鍨傞柛顐f礀閽冪喖鏌曟繛鐐珕闁稿妫濋弻娑氫沪閸撗€妲堝銈呴獜閹凤拷04闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鈩冩珕闂佽姤锚椤︻喚绱旈弴銏♀拻濞达綀娅g敮娑㈡煕閺冣偓濞茬喖鐛弽顓ф晝闁靛牆娲g粭澶婎渻閵堝棛澧遍柛瀣仱閹繝濡烽埡鍌滃幗闂佸搫娲ㄩ崑娑㈠焵椤掆偓濠€閬嶅焵椤掍胶鍟查柟鍑ゆ嫹15闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鈩冩珖闂侀€炲苯澧扮紒顕嗙到铻栧ù锝堟椤旀洟姊洪悷鎵憼闁荤喆鍎甸幃姗€鍩¢崘顏嗭紲闂佺粯鐟㈤崑鎾绘煕閵娿儳鍩g€殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鐘栄囨煕鐏炲墽鐓瑙勬礀閳规垿顢欑紒鎾剁窗闂佸憡顭嗛崘锝嗙€洪悗骞垮劚濞茬娀宕戦幘鑸靛枂闁告洦鍓涢敍娑㈡⒑閸涘⿴娈曞┑鐐诧躬閹即顢氶埀顒€鐣烽崼鏇ㄦ晢濠㈣泛顑嗗▍灞解攽閻樺灚鏆╁┑顔芥尦楠炲﹥寰勯幇顒傦紱闂佽宕橀褔鏌ㄩ妶鍡曠箚闁靛牆瀚崗宀勬煕濞嗗繑顥㈡慨濠呮缁辨帒螣閼姐値妲梻浣呵归敃銈咃耿闁秴鐒垫い鎺嶈兌閸熸煡鏌熼崙銈嗗濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌熼梻瀵割槮缁惧墽绮换娑㈠箣濞嗗繒浠鹃梺绋款儍閸婃繈寮婚弴鐔虹鐟滃秹宕锔藉€跺┑鐘叉处閳锋垿鏌熺粙鎸庢崳缂佺姵鎸婚妵鍕晜鐠囪尙浠紓渚囧枛椤兘銆佸☉銏″€烽悗鐢登瑰鎶芥⒒娴h櫣甯涙繛鍙夌墵瀹曟劙宕烽娑樹壕婵ḿ鍋撶€氾拷
首页 > 硬件设计 > 电源设计 > 利用PSoC1实现基于WPC协议的电力发送器设计

利用PSoC1实现基于WPC协议的电力发送器设计

时间:09-19 来源:互联网 点击:

1, 无线充电概述

  无线充电技术在消费类市场表现出巨大的潜力。在不使用连线的情况下给电子设备充电不但可为便携式设备用户提供一种便利的解决方案,而且还让广大设计人员能够寻找到更具创新性的问题解决方法。许多电池供电型便携式设备均能受益于这种技术,从手机到电动汽车不一而足。

  目前,无线充电技术主要有两个联盟A4WP和WPC。A4WP是以三星和高通牵头的6家企业成立了无线充电联盟,而WPC主要有TI、三星、HTC、LG、海尔等109家成员。WPC主要是采用线圈耦合的方式来实现能量转移,目前主要为5W产品的低功耗应用制定规范,也在尝试为高功率产品制定规范。它可实现在一个平面上为多个电器进行充电,充电板的发射端与充电产品接收端距离为5毫米。而A4WP正在促进共振方式无线充电技术的发展。充电板与智能机装置拥有同样频率的共振线圈,通过共振来充电,因此即便智能手机不与充电板接触也可进行充电。另外,该技术无需考虑电波,可为多台智能产品同时充电,并可通过非金属表面的物体进行充电,使用起来非常方便。

  除了两大联盟的技术方式外,也存在其他几种充电方式,比如以Wildcharge、Duracell两家公司为主的传导式充电、Powermat和Palm的无线充电技术,以及以Powercast公司为代表的RF射频充电技术等等,但无线充电方式还远不止这些。

  2,WPC介绍

  3,基于PSoC1的电力发送器设计

  电力发送器(其通常为一个平面用户将电力接收器放置在上面)连接至电源。符合WPC标准的设备线圈起到了一个50%占空比谐振半桥的作用,其输入为19-VDC(±1 V)。如果电力接收器需要或多或少的功率,则线圈频率会发生变化,但会保持在110到 205kHz 之间,具体取决于功率需求。

  如第二部分介绍,电力发送器的关键电路是用于向电力接收器传输电力的一次线圈、驱动一次线圈的控制单元以及解调一次线圈电压或者电流的通信电路。图2是采用Cypress的PSoC1对一次线圈的控制及驱动电路,它采用的是A1设计。

闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...

  图2, WPC电力发送器驱动电路

  其中,LM5107是线圈驱动芯片, 20N06HD是MOSFET管,Cp(约为100nF)是电路所有电容总和,Lp是一次线圈,A1设计中其值为24uH。

  电力发送器的通信部分主要为解调来自电力接收器的电压信号,并解析数据包。通信过程中采用的是差分双向编码(differential bi-phase encoding)方式,每个码元持续时间开始时电平都发生跃变,如果在半个码元持续时间后电平再次跃变,则代表1;而在整个码元持续时间内电平不发生跃变,则代表0.如下图3所示:

闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...

  图3,WPC通信编码

在PSoC Designer中实现的原理图如下图4所示,

闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...

  图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)

閻忓繐瀚伴。鑸电▔閹捐尙鐟归柛鈺冾攰椤斿嫰寮▎鎴旀煠闁规亽鍔忓畷锟�

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top