CC2538 with CC2592通信问题
自己做的板子,原理图就是按照ti给的原理图设计的,CC2538连接CC2592,PA_EN接的PC3,LAN_EN接的PC2,HGM接的PD2,用的per_test进行通信测试,接收正常,发送只有在非常近距离的情况下才能保证错误率,远一点错误率很高,测试管脚电平发现在发送的时候PC3电压才1.5V左右,数字管脚输出这样的电平有点不理解,应该是CC2592的发送未使能,改了per_test代码中的寄存器的值为附件图中的值,结果还是一样。求大神指教!
您有没有参考过TI给出的文档 http://www.ti.com/lit/an/swra447/swra447.pdf
AN130 - Using CC2592 Front End With CC2538
是参考这个设计的,给ti发邮件回复说是all you have to do is define HAL_PA_LNA_CC2592 and it would work.但是我不知道要修改的这个代码到底是哪一个!是不是我用的per_test,也没找到要修改的点~
恩 那个邮件也是我回复的。您可以参考 http://processors.wiki.ti.com/index.php/Enabling_the_Support_of_CC259x_PA/LNA_with_Z-Stack-Home-Automation-1.2.1#Enabling_Software_Support
在使用CC259x时您需要先Enabling Software Support
如CC2530协议栈内hal_board_cfg.h的定义
/* ------------------------------------------------------------------------------------------------
* CC2590/CC2591 support
*
* Define HAL_PA_LNA_CC2590 if CC2530+CC2590EM is used
* Define HAL_PA_LNA if CC2530+CC2591EM is used
* Note that only one of them can be defined
* ------------------------------------------------------------------------------------------------
*/
#define xHAL_PA_LNA
#define xHAL_PA_LNA_CC2590
您需要根据您现在使用的CC259x型号选择合适的定义,若是使用CC2592的话在hal_board_cfg.h添加
#define HAL_PA_LNA_CC2592 即可
你好,我们并没有使用Z-Stack,使用的是TI官网提供的CC2538 PER Test 例程,用来测量通信质量以及丢包率的。我们修改了关于CC2592的三个寄存器的值,但是实际发送包的时候测得PC3管脚电平电压还不到电源电压的一半,因此无法使能CC2592。在此想请教这个问题怎么解决?
很抱歉之前未能正确理解您的问题。请问您现在使用的是自己设计的板子吗?是参考TI给出的参考设计? 是否按照文档给出的方式进行连接?
是自己设计的板子,参考TI给出的参考设计的。未使能CC2592,因此无法进行远距离通信,挨在一起通信没有问题。
请问您现在是如何供电的呢?您有没有使用SmartRF06EB像http://www.ti.com/lit/ml/swru363/swru363.pdf给出的那样?
PER Test的例程内已经给出了不同板子的选择及CC2592的控制部分
#define HAL_RF_CC2538EM 0
#define HAL_RF_CC2538_CC2591EM 1
#define HAL_RF_CC2538_CC2592EM 2
/**************************************************************************//**
* @brief This function initializes the CC2538 to control the CC2592 PA/LNA
* signals. CC2538 GPIO connected to CC2592 HGM is configured as high.
* CC2538 RX(TX) active status signals are mappe to CC2592 EN(PAEN)
* signals.
*
* @return None
******************************************************************************/
static void halRfPaLnaInit(void)
{
// Configure CC2538 PD2 (CC2592 HGM) as GPIO output
HWREG(GPIO_D_BASE + GPIO_O_DIR) |= (0x04);
HWREG(GPIO_D_BASE + GPIO_O_AFSEL) &= (0x04);
HWREG(IOC_PD2_OVER) = 0;
// Set CC2592 to HGM
halRfSetGain(HAL_RF_GAIN_HIGH);
// Use CC2538 RF status signals to control CC2592 LNAEN and PAEN.
// CC2538 PC2 is connected to CC2592 LNAEN
// CC2538 PC3 is connected to CC2592 PAEN
HWREG(RFCORE_XREG_RFC_OBS_CTRL0) = 0x11; // rfc_obs_sig0 = rx_active
HWREG(CCTEST_OBSSEL2) = 0x80; // rfc_obs_sig0 => PC2
HWREG(RFCORE_XREG_RFC_OBS_CTRL1) = 0x10; // rfc_obs_sig1 = tx_active
HWREG(CCTEST_OBSSEL3) = 0x81; // rfc_obs_sig1 => PC3
}
供电就是按照原理图上给的那样,通过Smart RF06EB取电的,你给的这段程序在per_test中我也找到了,最后四个寄存器的值我不改,或者改成说明书上的值,结果都是一样的,程序中是可以选择CC2538-CC2592EM的,但是CC2538核输出的PC3的电平电压就是不够,买的CC2538开发套件输出的电平电压也是不够的。然后直接将PC3强制接到3.3V,测量结果也是一样的,都不太乐观。
那根据您的描述,软件部分是没有问题的。您有没有用其他的示例软件进行尝试?能否尝试下只用CC2538而不用CC2592的情况?若是依然通信质量不好的话,有可能是您板子射频部分有些问题。
你好,现在我们是用的TI官方的Smart RF06EB+TI官方的CC2538,例程用的也是ti官方的PER TEST,没有改动过。选择例程中CC2538-CC2592EM进行发送,测得的结果在不同速率下PC3管脚电压线性成比例,1packets/s下PC3电压为0,10packets/s下PC3电压为0.15,20packets/s下PC3电压为0.3,50packets/s下PC3电压为0.75,100packets/s下PC3电压为1.5,也就是说最高速率下电压也才1.5V,无法使能CC2592LA_EN引脚。这个现象与我们自己做的板子现象一致。这个应该还不是我们板子射频部分的问题,想请教你们那边的工程师帮忙解决一下这个问题,应该还是程序中的控制问题。谢谢!
请问你是不是用万用表测的?用示波器看一下就知道了。发送的时候PC3才为高,平常为低,所以你用万用表测到的电压值和发送速率成比例。
请问你,你的这个问题是怎么解决的?我现在也用的CC2538+CC2592,自己画的四层板,按照TI的设计文档要求画的板子,实测,通讯距离只有80米,为什么CC2538通讯距离这么近?
可否让我看一下一你的pcb。
我这也有个项目,自己画的板子,发射没什么问题,但接收距离非常短
你是不是元器件没焊好?我有一块板子也是接收距离只有一米,换了一块板子就好了!
我之前好像也遇到过,应该是阻抗匹配的问题,记得制板的时候要做阻抗匹配,单端50Ω,差分100Ω,还有电容记得选用材料为COG/NPO的高频电容,天线部分完全按照TI给出的板子来画,电容电感选用0402封装,是没有问题的,我的问题早已经解决了!
有联系方式么,想请教下!
但是CC2592的阻抗不知道啊,按照TI的设计图纸做,用网络分析仪测试,阻抗不是50Ω,很难做到50欧姆,关键我没有网络分析仪,频谱仪,场强仪都没有,找别人有网络分析仪的人给测了一下,阻抗差别有些大!是不是从CC2592输出端到天线的这段线路的电容,电感的值得自己调整啊?不能完全按照TI给的值做啊?
天线那块的电容电感,还有天线的布局都不用调整,阻抗匹配是需要跟制板厂沟通的,推荐你一个阻抗匹配计算的软件:SI9000
谢谢你的回复,我还是不太明白需要跟制版厂沟通什么?是板厚,敷铜厚度么?关于电路板的材质,各层的厚度,我都是按照TI的文档要求提出给制板厂家的。还有你说的那个软件,我下载了,那个软件不就只能匹配一下从CC2592到天线这段的在PCB板上的微带线路条的宽度,厚度,和两边敷铜的间距,还有第二层与第一层的距离么?我的元器件布局,包括线路之间的间距,CC2538到CC2592之间的传输线宽度,长度,还有CC2592到天线之间的线路条宽度,间距,包括电容电感的封装焊盘大小,都是非常接近TI的PCB图纸中的参数了!但是传输距离和效果还是不是太理想,我在大马路上实测,最远也就达到700米,但是已经很难收到信号了,在500米左右的距离还可以,但是驻波比较多,有些位置效果就不好,有的位置接收效果还可以。希望您能给我些指点,谢谢!
另外,我看到别人设计的CC2530+CC2591的模块,在CC2530和CC2591之间并不是直接用线路条链接,而是用电容电感,做了匹配调整。而TI给出的CC2583和CC2592的设计参考中,并没有针对CC2538和CC2592之间连接的特殊说明,没说明它俩之间是否需要用电容和电感进行进行匹配设计,就只是直接连接?
我们最近也在做这一块,TI给的参考设计文档里面是要求CC2592到天线端做50欧姆阻抗匹配的,但是CC2592到CC253x之间就没有特别要求,只是说完全拷贝参考设计能带来高性能