需求要求协调器和单个节点间的通信视距要达到100m以上。Zigbee是基于IEEE802.15.4标准的低功耗局域网协议,工作在2.4GHz和868/915MHz频段,具有短距离、低复杂度、自组织、低功耗、低数据速率(<250kbps)等特点。
Zigbee通信模块选用的TI公司集成Zigbee/RF4CE/IEEE协议栈的MCU芯片CC2530,支持低功耗模式,射频接收灵敏度高达-97dBm,额定发射功率为4.5dBm,所用天线的中心频率为2.4GHz,最大增益1.5dBi,驻波比<2。根据TI的参考电路和PCB绘制建议,完成电路设计,如图1所示:
图1 CC2530参考电路图
通过调节匹配电路参数,最后用射频分析仪测试出发射功率接近4.5dBm。于是在空旷场所进行实测,测试视距仅有30m左右,远远不能达到100m要求。限于结构,不能使用更大增益的天线。于是最终考虑添加射频功放,不过个人觉得这样也使得Zigbee通信的低功耗优势不再。
TI提供了与CC2530配套使用的射频功放CC2591,可使射频功率提高至20dBm,消耗电流小于166mA,;即使无功率输出时,也有最大50mA的电流消耗。射频接收增益分为高增益模式和低增益模式,在高增益模式下,接收增益为11dB,消耗电流最大4mA,噪声系数为4.8dB;在低增益模式下,接收增益为1dB,消耗电流最大2mA。CC2591控制引脚包括HGM、PA_EN、EN,HGM用于控制RX的增益模式,PA_EN和EN用于控制RX模式、TX模式及低功耗模式的切换,按照TI的参考原理图将这些控制引脚接至CC2530的相应GPIO,这样便可以直接利用Z-stack进行驱动设计,否则会带来软件上的更改。CC2591的电路原理设计如图2所示:
图2 CC2591电路原理图设计
实际回板后,调节好匹配参数至17dBm左右,然后进行测试,却发现测试通信距离连1m都不到。
首先检查原理图,尤其是控制信号HGM接法,未发现问题;
用TI提供的调试工具SmartRF Studio进行通信数据测试,发现主要是由于收到了大量错误的数据所导致的。因此怀疑是射频电路受了干扰导致的,但排查干扰源,利用电磁兼容常用的屏蔽等手段都未见效。
最后同事检查TI参考电路,如图3所示:
图3 CC2591参考电路接法
发现电源尤其是给输入输出功放提供供电的AVDD_PA1、AVDD_PA2、AVDD_LNA三个引脚有三个用传输线走线控制的电感TL11、TL101和TL131。查看datasheet,这三个电感会分别影响PA和LNA的谐振。
通过割线并用导线绕成小电感加入这三个电源的供电引脚,然后再进行测试,数据正常,且视距达到了300m以上。
之后回想,其实是惯性思维导致自己犯的错误。之前一直做数字电路设计,习惯了在芯片每个电源引脚处加一个去耦电容,由于数字电路输出IO口是工作在开关模式,只需要在开通时,由电源提供电压输出即可,因此电容更多的是起到提供瞬时所需电荷和抑制干扰的作用。但在功放应用中,需要的是将输入信号放大,如果还是这样设计,就会导致高频输出被电源引脚的去耦电容导走,使得输出波形不正确,造成数据错误,这时就需要加入电感,抑制高频信号通过电源引脚的去耦电容耦合到地。
这次失误给了我很大的教训,今后的设计中,对于每一个电路的应用,都要进行认真对待,确认应用的正确性,而不是想当然的套用之前的经验进行设计。