cc2530+rfx2401,在z-stack中怎么使能
请问使用cc2530+rfx2401,在z-stack中怎么使能2401,请各位指点。。。。
增加宏定义HAL_PA_LNA
忽略P0.7控制,P1.1和P1.4的控制逻辑是一样的
/* P1_1 -> PAEN */
RFC_OBS_CTRL0 = RFC_OBS_CTRL_PA_PD_INV;
OBSSEL1 = OBSSEL_OBS_CTRL0;
/* P1_4 -> EN (LNA control) */
RFC_OBS_CTRL1 = RFC_OBS_CTRL_LNAMIX_PD_INV;
OBSSEL4 = OBSSEL_OBS_CTRL1;
在我的原理图中,TX/RXN(5)连接P1_3,CE(6)拉高。 ( 另外一个版本是TXEN(5)和RXEN(6) )
那在程序中增加宏HAL_PA_LNA和
/* P1_3 */
RFC_OBS_CTRL1 = RFC_OBS_CTRL_LNAMIX_PD_INV;
OBSSEL3 = OBSSEL_OBS_CTRL1;
就可以了?
原则上只要逻辑对了就可以了,参考CC2591的接线逻辑,P1.1接PAEN,P1.4接EN,如果要设置到P1.3,就修改成OBSSEL3 = OBSSEL_OBS_CTRL1;
PAEN EN MODE
0 0 Power Down
0 1 RX
1 0 TX
1 1 Not allowed
修改之后又出现问题,
协调器(不使能PA)+ 路由器(使能PA 、不使能PA)=====》可以通信
协调器(使能PA)+ 路由器(使能PA、不使能PA)=======》不可以通信
使能PA(#define HAL_PA_LNA)后,是不是影响到协调器建立网络。
rfx2401的5、6引脚是TX/RXN和CE(TXEN和RXEN),两种说法,但都是指5、6引脚
TX/RXN CE Operating Conditions
1 * TX Active
0 1 RX Active
0 0 chip is shut-down
不会影响
按照你上面的方法修改。使能PA后,现在的情况是可以通信(路由器一直发送,协调器一直接收),但是不管在发射状态还是在接收状态,用示波器测TX/RXN引脚都是高电平(预期效果:发射状态TX/RXN=1,接收状态TX/RXN=0)。。。。能不能帮我分析一下是什么原因?谢谢。。。。
/* P1_1 -> PAEN */
RFC_OBS_CTRL0 = RFC_OBS_CTRL_PA_PD_INV;
OBSSEL1 = OBSSEL_OBS_CTRL0;
/* P1_4 -> EN (LNA control) */
RFC_OBS_CTRL1 = RFC_OBS_CTRL_LNAMIX_PD_INV;
OBSSEL4 = OBSSEL_OBS_CTRL1;
能帮我解释下面这几个是什么意思吗?
RFC_OBS_CTRL0;
RFC_OBS_CTRL1;
RFC_OBS_CTRL_PA_PD_INV;
RFC_OBS_CTRL_LNAMIX_PD_INV;
OBSSEL_OBS_CTRL0;
OBSSEL_OBS_CTRL1;
可能你没有设置成功,你可以在线调试的时候在这两句代码那里设置断点,看有没有执行到
参考CC2530规格书中寄存器RFC_OBS_CTRL0,RFC_OBS_CTRL1的描述,设置成0x68和0x6A分别作PA和LNA控制引脚
OBSSEL_OBS_CTRL0~OBSSEL_OBS_CTRL4中可以指定P1.0~P1.4任意IO口作为RFC_OBS_CTRL0或者RFC_OBS_CTRL1的功能输出。
好的 谢谢。。。