基于TI Z-Stack的Zigbee二次开发漫谈——硬件设计

博主在秋季、春季大战了Ti两回,都很可惜的在终面被刷,估计是因为英语不太好,并且学历是带专。

话说回来,Ti的东西贵是真贵,好用也确实好用。

毕业设计的时候,做的是Zigbee相关,用的是Ti的CC2530。

现在外面买Zigbee模块的时候,一般都是模块+单片机的形式。我做毕设的时候觉得,这有点没技术含量了,因此采用的方案是纯CC2530的二次开发。

首先讲讲硬件设计,一般来说,模块都是电源、去耦、外设、LED接上就完事了。但CC2530比较特立独行,有几个不一样的地方。

简单的路由器/终端原理图

  • 如果你的模块有射频功放,切记不要在P1.1、P1.2放任何外设。否则不仅外设功能不能启用,射频模块工作也会受到影响。
  • CC2530的串口、SPI合并称为USART,但SPI没有库函数,需要你自己手搓寄存器。所以一开始在方案选型的时候要确定用SPI还是UART。在刚开始设计的时候可以把P1.4-P1.7均引出。
  • 库函数内串口没有4800bps,需要手动修改一下。如果外设波特率为4800bps,建议一定要开DMA。
  • DC、DD称为调试引脚,具体调试电路参考官方、模块手册即可,如果上电亮红灯,在排除DC、DD连接错误之后,观察RST的电容有没有虚焊、容值错误。博主曾经怎么调都调不出来,结果有一次把电烙铁放在电容边上以后竟然绿了。(电容虚焊,温度上升导致容值变化)

射频功放配置可以参考亿佰特的相关手册,内容如下:

协调器硬件主要是包括CC2530+STM32F407ZGT6+DP83848。在调试协调器通信电路的时候,建议把协调器与上位机USART引脚先分别引出,用调试器测试发送、接受是否正常,再用跳线帽连接两端发送对应数据,这样比较容易确定是哪个部分的问题。

协调器原理图

STM32原理图的关键部分如下。其实没什么好说的,主要是注意F407的启动电容精度要求很高。即V_CAP1V_CAP2这两个引脚连接的电容必须要比较精确的为2.2uF。当然,不接也是可以的。

STM32原理图

最后是DP83848部分的原理图,注意,29脚NET_RESET不要和STM32的RESET连接,需要连接至STM32的GPIO控制(原理图中连接错误)。原因是在上电的时候需要先初始化STM32,再初始化DP83848。如果DP83848先初始化,那么就有可能DHCP寻址失败。这时候按住RESET键2S左右,才能恢复正常。

futa: