无线充qi协议c语言详解,无线充电Qi协议正向通信FSK的解调设计[通俗易懂]

无线充qi协议c语言详解,无线充电Qi协议正向通信FSK的解调设计[通俗易懂]白光磊池卿华王兆俊江昊史佳雯周天摘要:无线充电Qi协议提出发射器和接收器通过频率调制(FSK)方式进行正向通信,进而建立完整的通信状态控制。接收器可采用测宽法进行频率解调,然而由于电磁耦合变化、负载变化、载波占空比变化、测量量化等引起的误差,该方法无法满足实际应用的要求。该文针对传统测宽法抗干扰能力弱的问题,提出一种窗口滤波算法,通过参考相邻脉冲频…

大家好,又见面了,我是你们的朋友全栈君。

白光磊 池卿华 王兆俊 江昊 史佳雯 周天

d3de59606d216daf48879db15dabeca8.png

d7c699d52c864062d17d01a8c418326c.png

5fb207072931926e06f4e4403aed3ba6.png

摘  要: 无线充电Qi协议提出发射器和接收器通过频率调制(FSK)方式进行正向通信,进而建立完整的通信状态控制。接收器可采用测宽法进行频率解调,然而由于电磁耦合变化、负载变化、载波占空比变化、测量量化等引起的误差,该方法无法满足实际应用的要求。该文针对传统测宽法抗干扰能力弱的问题,提出一种窗口滤波算法,通过参考相邻脉冲频率确定当前脉冲的有效频率,极大地提高了测宽法的抗干扰能力。经实例分析,改进后的测宽法抗干扰能力强、逻辑简单,为无线充电正向通信FSK解调提供一种可行的方法。

关键词: Qi协议; 无线充电; 正向通信; 频率解调; 测宽法; 窗口滤波

中图分类号: TN26?34                               文献标识码: A                      文章编号: 1004?373X(2020)08?0001?04

Design of FSK demodulation for forward communication based on

wireless charging Qi protocol

BAI Guanglei1, CHI Qinghua2, WANG Zhaojun2, JIANG Hao1, SHI Jiawen1, ZHOU Tian1

(1. School of Electronic Information, Wuhan University, Wuhan 430072, China; 2. Space Star Technology Co., Ltd., Beijing 100086, China)

Abstract: The wireless charging Qi protocol supports the forward communication of the transmitter and the receiver in the frequency shift keying (FSK) mode, and can establish the complete communication state control. The width measurement method can be adopted to perform the frequency demodulation of the receiver, but it may cause errors due to electromagnetic coupling change, load change, duty cycle change of carrier, measurement quantization and so on. Therefore, the method cannot meet the requirements of practical application. In allusion to the weak anti?interference ability of the traditional width measurement method, a window?filtering algorithm is proposed, with which the effective frequency of the current pulse can be determined by referring to the adjacent pulse frequency, which greatly improves the anti?interference ability of the width measurement method. By practical analysis, the improved width measurement method has strong anti?interference ability and simple logic, and provides a feasible method for the FSK demodulation of the forward communication in the wireless charging.

Keywords: Qi protocol; wireless charging; forward communication; frequency demodulation; width measurement method; window filtering

0  引  言

无线充电将充电设备与电源分离,充电更安全,并且具有多机共用、防水防尘、在极其恶劣的条件下也能正常工作的特点,可应用于智能穿戴、移动电子设备、医用植入设备、无线传感网络和防水密封电子产品等 [1?3] 。为了保证充电的兼容性、安全性、平滑性,Qi协议提出完整的状态控制,并给出发射器通过频率调制,接收器端通过频率解调,完成正向通信[3?5]。频率解调非线性变换方法主要包括限幅鉴频法、过零点检测法、频谱分析法及测宽法[6?7],各方法优缺点如表1所示。测宽法具有检测时间短、实时性高的特点;然而在无线充电系统中,在出现电磁耦合变化、负载变化、载波占空比变化、测量量化等引起误差时,将会导致频率解调出错[7]。本文针对测宽法抗干扰能力差的问题,提出窗口滤波算法,通过参考相邻脉冲频率,极大地提高了抗干扰能力,为无线充电正向通信FSK提供一种可行方法。

1  FSK解调设计

1.1  无线充电的频率调制

发射器端按照编码规则,控制工作频率,完成频率调制。接收器LC谐振电路A,B两端点波形频率与工作频率一致且互补,通过电压比较器输出同频方波,将方波接入单片机、FPGA等嵌入式平台完成频率解调,按照解码规则进行解码。

电路简化结构如图1所示。

文献[4]描述了Qi协议频率通信的位编码规则,每个bit都采用差分双向编码策略。发射器每次经过载波电信号的512周期进行一次数据的对齐。当输出“1”时,电信号的频率会在bit的开始处和256个周期处发生跳变,共计两次跳变;当输出“0”时,电信号的频率仅会在bit开始处发生一次跳变。频率调制位编码示例图见图2。为了便于单片机测量脉冲的宽度或频率,接收器需首先将波形处理为一定电平的同频方波信号。因此,接收器将LC谐振电路A,B两端点电压信号通过电压比较器输出同频方波,示例波形如图3所示。

1.2  测宽解调法的基本原理

接收器从调频方波开始,根据脉冲的频率解调出信息数据完成正向通信的最后一环。测宽解调法的思路是,首先根据输入信号,捕获相邻高电平(或相邻低电平)的宽度,即得到了每一个脉冲的宽度。从而根据宽度判断出频率高低,然后根据脉冲的频率跳变及计数进行解码。实际某段调频方波的解码过程示例如图4所示。

图中的这段波形为256个周期的低频方波和256个周期的高频方波。通过单片机定时器输入捕获通道测量相邻下降沿的宽度,从而得出每一周期的频率,图中用L表示低频,H表示高频,可以畫出频率状态的变化。由解码规则得,在256个周期时频率发生跳变,可以得出这一段方波信号表示一个1。

1.3  传统测宽法的缺陷

测宽解调法的关键是每一脉冲频率的准确判断。在每一脉冲频率正确判断的基础上,可准确得到频率跳变时间和脉冲计数,从而进行正确的解调并得到正确的解码数据。然而在出现电磁耦合变化、负载变化、载波占空比变化、测量量化等引起误差时,将会导致个别脉冲频率误判。此时,无法正确解码,且对数据位的同步带来挑战。当出现电磁耦合变化、负载变化等产生图中调频方波信号,或因为载波占空比变化、测量量化误差等导致脉冲频率误判时,一段编码为1的波形信号频率状态如图5所示,无法完成解码及位同步。

图5  干扰信号解码示例图

1.4  窗口滤波算法

针对测宽法的缺陷,设计窗口滤波算法。窗口滤波算法的思路是,在判断出每一周期的频率基础上,设计一定长度的窗口,窗口内可观察当前周期及前面若干个周期的频率,根据窗口内的高低频率个数,从而判断出当前周期的有效频率,从而使得频率状态变化的抗干扰能力增强。然后根据有效频率的状态变化,进行解码。以窗口长度等于10为例,示例如图6所示。

图6中调频方波分为三段,其中前后两段虚线方波信号分别为前一bit和后一bit的部分调制信号波形。由单片机通过测宽法判断出每一脉冲周期的频率高低,如前所述,某些可能会出现误判。采用窗口滤波算法,即通过观察当前脉冲及前边若干脉冲来得出一个有效频率(用h表示高频,l表示低频)。在每一个窗口中,仅有高频个数高于某一个阈值,才会得出有效频率为高频h,否则有效频率为低频l。

图中窗口长度为10,阈值取为5,取三个窗口为例:在第一个窗口中共计5个高频H,故得出有效频率为高频h;在第二个窗口中共计3个高频H,故得出有效频率为低频l;在第三个窗口中共计7个高频H,故得出有效频率为高频h。从而得出信号的有效频率状态如图,虽然频率状态变化略有延迟,且频率状态计数长度略有变化,但由于滤除了误判引起的频率状态变化,可以简单的从频率状态变化中提取出位同步信号。

1.5  数据位解码

通过窗口滤波算法判断的有效频率,可以从频率状态变化中提取出位同步信号。然而由于有效频率与实际频率在位与位相邻的地方发生偏移,且有效频率状态变化会随相邻位置实际频率的误判产生不同的偏移,因此有效频率中对应每一位进行解码的脉冲个数不是精确的512个。由编码规则可知,通过判断每位调制信号的前256个脉冲频率和后256个脉冲频率是否一致可以得出数据位为1,还是为0。若以256个脉冲为一段,则解码一位数据需要判断两段脉冲的频率,记已识别脉冲段的个数为m,记同一频率持续脉冲计数为n,则可以按照图7中流程图的步骤进行位解码。解码的关键点在于判断最新一个脉冲有效频率是否与之前的有效频率发生变化,这里分为两种情况:若无变化,则在计数到达256时,表示可以判断出一段脉冲的频率;若有变化,则判断计数是否大于等于128,即根据大于等于半段波形个数,表示可以判断出一段脉冲的波形。

为了便于分析解码方法,举出若干个通过窗口滤波算法得到的一位调制信号经过窗口滤波算法后的有效频率情况。如510个低频l:首先根据前256个l判断出前段频率为l;后244个l在频率发生变化时,根据244大于128,判断出后段频率为l。前后段频率一致,则解码为0。516个高频h:首先根据前256个h判断出前段频率为h;紧邻其后256个h判断出后段频率为h;最后4个h,在频率跳变时,根据4小于128忽略。前后段频率一致,则解码为0。253个低频l,260个高频h:首先前253个l, 在频率发生变化时,根据253大于128,判断出前段频率为l;紧邻其后256个h判断出后段频率为h;最后4个h,在频率跳变时,根据4小于128忽略。前后段频率不一致,则解码为1。

2  实例分析

本文使用系统频率为72 MHz的STM32主控芯片,搭建正向通信模型,发射器采用高级定时器产生4路调频PWM信号控制驱动电路,进而驱动初级线圈。在接收器端,则采用定时器捕捉通道对每一脉冲测宽,使用测量数据进行解码。首先使用测量数据进行频率判断,由于电磁耦合变化、负载变化、载波占空比变化、测量量化误差等极大可能导致频率误判。在使用定时器判断频率的实验数据如表2所示。

无线充电系统的频率在100~200 kHz之间,从表2中几组数据看出,出现单个脉冲误判的概率大于0.2%,则在1位调制信号中(512个脉冲信号)出现单个或多个脉冲误判可能性非常大,而在一个字节(11位)、数据包(3~22个字节)出现脉冲频率误判的概率更大。

若采用测宽法,则首先根据每一个脉冲宽度进行频率判断后,然后按照解码原则解码。对于工作频率fH =151 kHz, fL =150 kHz时,在STM32完成的无线充电平台进行测试,使用测宽法进行解码,统计数据如表3所示。

由于在一个数据包传输过程中,一个脉冲信号的误判可能引起数据位解码出错以及数据位同步信号错位,从表3数据可以看出,很难完成整个数据包的正确接收及解码。若采用窗口滤波算法对测宽法进行改进,首先根据每一脉冲及前面相邻若干脉冲的宽度产生一个有效频率,依次产生所有脉冲对应的有效频率,然后按照解码规则解码。对于工作频率fH =151 kHz,fL =150 kHz时,使用改进测宽法进行解码,统计数据如表4所示。

从表1中數据看出,解码成功率接近100%,记明了改进的测宽法是一种可行的无线充电频率解调方法。正如前文分析,使用窗口滤波算法平滑了实际频率引起的误判,首先确保了准确的位同步信号,其次确保了每一位正确解码。

3  结  语

在无线充电系统正向通信频率解调的实现方法中,本文针对测宽法抗干扰能力差,在某些脉冲测量出现误判时无法解码的问题,提出窗口滤波算法,通过参考多个脉冲信号的频率平滑频率变化,从而通过平滑后的有效频率进行解码,该方法可以准确的提取位同步信号、极大的提高抗干扰能力,完成正向通信的频率解调。使用窗口滤波算法改进的测宽法,抗干扰能力强,逻辑简单,计算量小,可在单片机、FPGA等平台实现,为无线充电频率解调提供了一种优良的方法,具有广阔的应用前景。

注:本文通讯作者为江昊。

参考文献

[1] 许红霞,付益超.无线充电技术的应用[J].电子技术与软件工程,2017(12):112.

[2] 王国辉.无线充电技术及其特殊应用前景[J].电子产品世界,2014,21(7):21?24.

[3] 白光磊,江昊,史佳雯,等.基于扩展无线充电Qi协议的数据采集方法[J].电子技术应用,2018,44(11):76?80.

[4] International Electrotechnical Committee.  The Qi wireless power transfer system power class 0 specification part 1 and 2: interface definition: IEC PAS 63095?1 Ed. 1.0 [S]. [S.l.]: International Electrotechnical Committee, 2017.

[5] 胡江浩,张中炜.基于QI协议的无线充电通信系统[J].中国新通信,2016,18(3):106.

[6] 孔德龙.自适应滤波算法在轨道电路FSK信号解调中的应用与研究[D].兰州:兰州交通大学,2014.

[7] 赵海,王聪颖,舒文丽,等.基于无线充电QI标准的2FSK解调设计[J].电子与封装,2017,17(12):34?37.

[8] 陈晶晶,颜文旭.双接收线圈磁谐振式无线充电系统的研究[J].通信电源技术,2018(5):1?3.

[9] 张志豪,白金超,马士腾.基于STM32单片机的智能黑板擦[J].电子技术与软件工程,2018(10):248.

[10] 田迪.电动汽车谐振式无线充电系统研究[D].西安:长安大学,2018.

[11] 李玉.基于时间窗口滤波的软件去抖方法[J].电子制作,2018(11):54?56.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149259.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Jenkins前端打包内存溢出问题

    Jenkins前端打包内存溢出问题

  • IntelliJ IDEA 2021.1激活教程(亲测激活至 2099 年,长期更新)

    IntelliJ IDEA 2021.1激活破解教程(亲测激活至 2099 年,长期更新)

    2021年4月12日 idea
  • js将docx转换为html,js实现word转换为html[通俗易懂]

    js将docx转换为html,js实现word转换为html[通俗易懂]前言最近接到一个需求,实现上传一个word文档,然后将该word转换成html丢给服务端存上。进行技术调研后发现有三种方法可以实现这个功能:ActiveXObject、docx2html、mammoth。IE的ActiveXObjectvaroWordApp=newActiveXObject(“Word.Application”);varoDocument=oWordApp.Docum…

  • 简单模拟mybatis的MapperScan

    简单模拟mybatis的MapperScan一、问题描述在mybatis中,mapper通常是一个接口,但是我们却可以直接通过这个接口调用方法。按道理来说接口是不能直接调用方法的,只有实现类才能调用接口。但在下面的代码中,我们直接调用applicationContext.getBean(TestMapper.class).list(“”),就可以查询我们的数据库。也就是说applicationContext.getBean(TestMa…

  • ubuntu如何卸载docker_ubuntu卸载干净

    ubuntu如何卸载docker_ubuntu卸载干净Ubuntu卸载Docker方法卸载旧版本的方法:旧版本的docker名字叫docker,docker.io,或者docker-engine#删除docker命令acestang@acestang:~$sudoapt-getremovedockerdocker-enginedocker.iocontainerdrunc#删除docker默认安装的文件acestang@acestang:~$sudorm-rf/var/lib/docker/#通过doc

    2022年10月21日
  • sendto & recvfrom 详解

    sendto & recvfrom 详解参考一:sendto和recvfrom一般用于UDP协议中,但是如果在TCP中connect函数调用后也可以用.sendto()和recvfrom()——利用数据报方式进行数据传输 1.在无连接的数据报socket方式下,由于本地socket并没有与远端机器建立连接,所以在发送数据时应指明目的地址,sendto()函数原型为:   intsendto(intsockf

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号