板子经过Calibrate并Load EEPROM之后,我们用ART进行Continue Tx,这时,板子会按照我们设定的Target Power打出信号,Transceiver会提高自身的输出功率直至与Calibrate过程中记录的对应的那个电压值(AR9223_PDET_0)一致。
这时我们回到一开始的问题“输出功率超级大,星座图一片模糊,无法解调”,怎么回事?肯定是Transceiver无法得到正确的那个电压值,所以只能一直提高自身的输出功率直至PA的输出功率达到饱和。检查L19,L18,D1,C217,R248,发现D1已开路,换一颗新的二极管,恢复正常。
这里需要指出的是,采用定向耦合器进行输出功率控制是Atheros特有的一种方法,Broadcom和Ralink中至今还未看到采用这种方法的。另外,PA的本身一般都会内置功率检测单元,并通过一个引脚出来,通常成为V_DET。
3.3、某无线网卡静态发热严重
现象:某无线网卡 上电后,不做任何操作,四颗PA就发出很大的热量,PA的表面温度很高,很烫手。
第一判断就是PA并不是处于真正的“静态”,它们正在偷偷地工作!那么,如何验证呢?拿来PA(SKY65137-11)的Demo板,用Power Supply供电,以便观察其消耗的电流。上电,发现消耗的电流几乎为零,并不会出现发热的现象,与该无线网卡的情况不一样。研读SKY65137-11的Datasheet,一个关键的引脚PA_EN引起了我的注意,这个引脚就是PA的使能引脚。在上电情况下,将此引脚拉高至3.3V,发现5V消耗的电流剧增,随之散发出大量的热,PA的表面温度立刻上升。将PA_EN与3.3V断开,5V消耗的电流随之下降,这时,用手触碰PA_EN引脚,发现5V消耗的电流在发生跳动,这说明人体感应到的微弱电信号足以使PA处于“Enable”状态,同时说明,PA_EN是一个很敏感的引脚,很微弱的信号就足以触发。
分析该无线网卡的SKY65137-11单元电路,如图3-3所示(不包括Level Shift)。
图3-3 SKY65137-11单元电路
很容易发现,SKY65137-11的PA_EN这个引脚是通过一个Level Shift电路直接与AR9220的控制引脚进行连接,这样,AR9220控制引脚的微弱扰动就可以触发PA,所以会导致静态情况下PA发热。
解决办法:在PA_EN引脚处用一颗10K电阻下拉倒地,使常态下PA处于关闭状态。
通过上述办法,解决了PA的发热问题
3.4、某无线网卡Calibrate 不准
现象:该无线网卡经Calibrate之后,实际输出功率与Target Power不一致。
首先经过排查,确定不是Cable Loss与ART的设定问题。该无线网卡的RF部份是我们自主设计的,有太多不确定的因素,这里不进行深入的分析。在3.2中已经讨论过,Atheros的方案通过检测PA的输出功率对应的电压值来实现输出功率的稳定;静态情况下,若PA无输出功率,则对应的电压值为零。通过检测,发现SKY65135-21(2.4GHz PA)在静态下输出的V-Detect并不是零,而是零点几伏的电压值,这可能是PA自身的问题造成的,也正是这个原因,导致了该无线网卡的Calibrate不准的问题。我们都知道二极管的单向导电特性,为了防止该无线网卡 的2.4GHz与5GH频段在Calibrate过程中相互影响,可以通过二极管将其分开。在该无线网卡后续的版本中,我们就是采用了这种方式,可以很好的解决Calibrate不准的问题。
3.5、某无线AP无输出信号
现象:ART运行一切正常,用VSA观察,无任何输出信号。
回忆3.1中讲解的内容,我们提到了点测法,个人认为,点测法是解决类似这种问题的最快手段,在使用ART进行Continue Tx的情况下,使用探针依次检测Transceiver输出端,PA输入端,PA输出端,低通滤波器输出端,T/R Switch输入端及T/R Switch输出端,一般来说,检测这些点已经足够了。
按照上述的方法,我们依次检测Tx回路的各点(以2.4GHz 链路0为例),如图3-4所示。
图3-4 2.4GHz 0链路检测点
在实际的检测过程中,发现在T/R Switch输入端有信号,也即C379处有正常的RF信号,但是在T/R Switch输出端无信号,查阅T/R Switch uPG2179的Datasheet,发现,此时的控制信号与预想的不符,细节部分读者请参阅uPG2179 Datasheet与AR9280(此项目的Transceiver)的参考设计。