所有关于电路
项目

用于噪声敏感电路的无线电源

2015年10月21日经过罗伯特·凯

IDT的Tx/Rx无线电源解决方案是否适用于需要高精度模拟性能的应用?

IDT的Tx/Rx无线电源解决方案是否适用于需要高精度模拟性能的应用?

所需的硬件/软件

本系列的前一篇文章

本刊中包含支持信息的相关文章

噪音的问题

在上一篇文章中我们介绍过IDT的P9038P9025AC并简要分析了接收板提供的电能质量。我们的结果表明,IDT的Tx/Rx无线电源解决方案提供了一个稳定的、低噪声的输出电压——只要设备施加机械约束,保持发送线圈和接收线圈之间的正确对齐和分离。但是,任何关于无线传输的讨论——尤其是专门设计用来传输大量能量的无线传输——都会引发噪音问题。事实上,当你看到直径4厘米的充电线圈时,噪音的问题可能会明显地进入你的脑海,因为它应该被放置在靠近你(可能对噪音敏感)电路板的地方。

IDT的IC和评估板包含了旨在减少电磁干扰的功能,例如,发射机IC控制集成全桥逆变器中mosfet的边缘速率,而发射机线圈安装在铁氧体屏蔽上。P9038 datasheet(数据表)进一步消除了心存疑虑的工程师的疑虑:“卓越的EMI性能消除了对EMI滤波器的需求”;“EMI/RFI排放……优于WPC[无线电力联盟]规范的要求。“Additional marketing materials state that the transmitter coil’s “high permeability shielding prevents charge flux from coupling into sensitive components.” This is all quite persuasive, but nonetheless, a little bit of independent evaluation never hurts.

多少噪音才算太多?

噪声存在于每条电路中。从某种意义上说,噪音本身是中性的——没有好坏之分。只有当噪音以一种有问题的形式存在时,它才会成为敌人相对于系统的要求。例如,在高精度模拟电路中,50 mV的噪声耦合到传感器信号可能是灾难性的,而在纯数字电路中,同样大小的噪声可能对整体功能没有影响。

在这个项目中,我们将使用1.65 V参考的12位ADC来评估emi诱导的噪声。这意味着ADC结果的最低有效位的过渡对应于(1.65 V)/(212.) = 403µV。可以有把握地假设,即使没有主要噪声源,转换结果也会在平均值上下至少变化一个数字计数,因此该测量系统无法检测到大约1毫伏以下的噪声。许多混合信号设计,特别是在消费电子环境中,不需要超过1 mV的绝对精度,因此我们的分析对于许多可能被视为包含无线电源的候选设备是足够的。对于真正需要14位或16位分辨率的应用程序来说,这种分析可能无法检测到噪声;然而,与此同时,这样的高精度系统通常会优先考虑信号完整性而不是无线电源,这对于大多数设备来说是方便和有市场的,但远非必要的。

硬件配置

本项目使用EFM8的内部ADC生成样本进行噪声分析。

如上所示,ADC被配置为12位操作。nota bene:就实际硬件而言,EFM8的ADC是一个10位设备。当配置为12位转换时,ADC模块“使用4个不同的参考电压执行4个10位转换,并将结果组合为单个12位值”(从EFM8UB1参考手册)。乍一看,这种合成的12位转换似乎不适合噪音分析,但Silicon Labs坚持认为,ADC采用的程序,与简单的平均程序相比,“提供真正的交流或直流输入信号的12位分辨率。“因此,该项目利用12位模式,希望它将提供额外的噪声检测灵敏度。

然而,似乎12位模式受某种定时复杂性,使转换过程易于偶尔的虚假偏差。随着采样率的增加,这些不规则性变得更加频繁。配置各种延迟和定时信号时的适当类型的技巧可能消除此问题,但是为了我们的目的,我们可以通过将采样率保持每秒大约5000个样本的采样率来获得可接受的结果。采样率并不重要,因为由粗略正弦信号驱动的无线传输线圈的更高频率诱导噪声将别名进入采样数据。如果出于某种原因需要更高的采样率,可能最简单的解决方案是使用10位模式。

Timer3为ADC生成转换开始信号,我们还需要启用内部电压参考和ADC“转换完成”中断。

USB配置通过VCPXpress库在源文件中执行。

固件

整体功能如下:ADC样本存储在500字节缓冲区中。一个12位样本需要两个字节,但在这个项目中,我们只存储和分析低字节,因为由于噪声引起的所有信号变化都会发生在该字节内。因此,500字节的数据对应于500个ADC样本,而不是250.当缓冲区已满时,固件检查USB主机是否已请求ADC数据。如果不是,则缓冲区逐渐被新数据和过程重复覆盖;如果是,则EFM8将样本的完整缓冲区发送到PC。ADC转换在USB传输期间暂停。

以下是守则的主要部分:

//----------------------------------------------------------------------------- // ADC0EOC_ISR  //----------------------------------------------------------------------------- // // ADC0EOC ISR内容就在这里。记得清楚的标志:/ / ADC0CN0: ADINT(转换完成中断标志 ) // //----------------------------------------------------------------------------- SI_INTERRUPT (ADC0EOC_ISR ADC0EOC_IRQn) {ADC0CN0_ADINT = 0;//清除中断标志//噪音分析只需要低字节ADCValues[BufferIndex] = ADC0L;BufferIndex + +;if(BufferIndex == TX_BUFFER_LEN) {BufferIndex = 0;ADC_BUFFER_FULL = TRUE;//停止Timer3暂停ADC转换SFRPAGE = TIMER3_PAGE;TMR3CN0 & = ~ TMR3CN0_TR3__RUN;}}
vcpxpress_api_callback(myapicallback){uint32_t api_interruptcode;//获取指示中断API_INTERRUPTCODE = GET_CALLBACK_SOURCE()的代码;//如果(api_interruptcode&device_open)刚刚打开USB连接){//启动第一个USB读取过程block_read(usbrxpacket,usb_packet_size,&usbbytesreceived);/ *当我们使用rx_complete中断代码* /}如果(api_interruptcode&rx_complete)// usb读取完成{if(usbbytesreceived == 1 && usbrxpacket [0] =='r')时,我们将处理收到的字节adc_data_requested = true;//继续下一个USB读取过程block_read(usbrxpacket,usb_packet_size,&usbbytesreceived);}如果(api_interruptcode&tx_complete)// usb传输完成{//重新启动timer3收集更多ADC样本SFRPage = Timer3_Page;TMR3CN0 | = TMR3CN0_TR3__RUN;}} void transmit_usb_packet(){block_write(adcvalues,tx_buffer_len和usbbytestransmited);}
int main (void){//调用硬件初始化例程enter_DefaultMode_from_RESET();/ /初始化VCPXpress USB_Init (&InitStruct);//启用VCPXpress API中断API_Callback_Enable(myAPICallback);//启用全局中断IE_EA = 1;//启动Timer3,从而启用ADC转换SFRPAGE = TIMER3_PAGE;TMR3CN0 | = TMR3CN0_TR3__RUN;while(1) {if(ADC_BUFFER_FULL == TRUE) {ADC_BUFFER_FULL = FALSE;if(ADC_DATA_REQUESTED == TRUE) {ADC_DATA_REQUESTED = FALSE;Transmit_USB_Packet ();} else{//如果主机没有请求数据,重启Timer3继续ADC转换SFRPAGE = TIMER3_PAGE; TMR3CN0 |= TMR3CN0_TR3__RUN; } } } }

WirelessPowerNoiseAnalysis.zip

没有更多的命令行!

在这个项目中,我们将使用以下Scilab图形用户界面来收集和分析采样数据:

WPNoiseAnalysisGUI.zip

这个GUI是在GUI Builder工具箱的帮助下设计的,您可以通过该工具箱下载Scilab的原子模块管理器

采样的数据被绘制在矩形窗口中,GUI自动计算并显示三个指标:平均值(又称平均值)、范围和标准偏差。这三种都给了我们关于噪音量的信息:

  • 从一个数据集到另一个数据集的平均值的变化表明被测信号中存在低频偏差。
  • 范围是由每个数据集中的最大值和最小值决定的,因此该指标对所有偏离均值的情况都很敏感,即使是那些不定期发生或持续时间很短的情况。
  • 标准差是评估总体噪声振幅的一种方法,因为它告诉我们均值和数据点之间的平均差。标准差是通过平方来计算的的意思是平方差值,因此包含随机噪声的信号的标准差就是噪声振幅的均方根。

结果

如果你执行一个类似的分析来评估自己EMI电路的影响,记住,发射机的输出功率影响接收机提供的负载电流是多少(Rx可以通过调制与Tx板通信接收机上的负载线圈)。因此,你应该根据电路的预期电流消耗来加载接收器。在这个项目中,我们使用了大约40毫安的小负载电流。

第一批数据采集自EFM8的内部温度传感器,EFM8位于接收线圈中心的正上方。

无线电力发射器已关闭为第一个数据集和第二个数据集;没有大差异是明显的,并且重复的数据收集确认,在这种情况下,无线电力传输不会导致大量的噪声。

下一个数据集采用相同的物理配置收集,但此时EFM8评估板由无线电力接收器模块供电。

同样,没有明显的噪音问题。这是好!

对于以下数据集,ADC不是由内部温度传感器驱动,而是由端口引脚(即,P0.0)通过相当长的电线连接到面包板上的电阻分压器。请记住,P0.0需要配置为模拟输入并由横杆跳过。电阻分频器将3.3 V电源电压降低至约0.6V(召回ADC的参考仅为1.65 V)。

绿色的信号线被放置在接收线圈附近,而黑色的地线被故意从绿色的线中分离出来,以消除任何噪声抵消效应。这对IDT来说是一场不公平的斗争,但结果将是有价值的。对于第一个数据集,发射器没有通电,而对于第二个数据集,发射器通电。

如果你想保持1mv的精度,那么这么多的噪音肯定会毁了你的一天。下面的图证实,当EFM8板由接收模块供电时,噪声水平是类似的。

为了便于记录,将接地线绕在信号线上(同时保持与接收线圈相同的接近度)提供了显著的改进:

另一个降低噪声振幅的主要方法是将三根电线缠绕在一起,并用铝箔“屏蔽”它们:

对于上述数据集,盾是浮动的。在EFM8侧接地屏蔽可将RMS噪声幅度额外降低10-30%。

结论

数据设置或更少为自己说话。No one expects wireless power transfer to be as clean as the old-fashioned cable-plus-connector approach, and IDT’s solution is surprisingly compatible with fairly high-precision analog circuitry—but it looks like short interconnects and PCB ground planes play an important role in minimizing the effects of EMI. If you need to run wires or long traces near the receiver coil, careful shielding and filtering will help you to maintain signal integrity.

自己尝试一下这个项目吧!的物料清单