微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > CC1120

CC1120

时间:12-22 整理:3721RD 点击:

在操作CC1120芯片时,将GPIO0设置成0x06, 检测同步字中断,在发送的时候,能看到有中断产生,可是接收板却一直没有中断产生,寄存器配置都是一样的,板子也是一样的,不知道为何?

代码完全按照cc112x_simple_link_api.C中写的!只不过是没有使用中断,而是利用查询检测RX FIFO中是否有数据。

同时使用示波器查看GPIO0引脚上的波形!

示波器上没有任何显示!

遇到同样的问题,发射能产生中断,接收始终没有中断产生,读取CC112X_NUM_RXBYTES的值也始终为0, 寄存器是按照Studio进行设置的。

具体如下:

{CC112X_IOCFG3, 0xB0},
{CC112X_IOCFG2, 0x06},
{CC112X_IOCFG1, 0xB0},
{CC112X_IOCFG0, 0x40},
{CC112X_SYNC_CFG1, 0x0B},
{CC112X_DCFILT_CFG, 0x1C},
{CC112X_IQIC, 0xC6},
{CC112X_MDMCFG0, 0x05},
{CC112X_AGC_REF, 0x20},
{CC112X_AGC_CS_THR, 0x19},
{CC112X_AGC_CFG1, 0xA9},
{CC112X_AGC_CFG0, 0xCF},
{CC112X_FIFO_CFG, 0x00},
{CC112X_SETTLING_CFG, 0x03},
{CC112X_FS_CFG, 0x14},
{CC112X_PKT_CFG0, 0x20},
{CC112X_PKT_LEN, 0xFF},
{CC112X_IF_MIX_CFG, 0x00},
{CC112X_FREQOFF_CFG, 0x22},
{CC112X_FREQ2, 0x6C},
{CC112X_FREQ1, 0x80},
{CC112X_FS_DIG1, 0x00},
{CC112X_FS_DIG0, 0x5F},
{CC112X_FS_CAL1, 0x40},
{CC112X_FS_CAL0, 0x0E},
{CC112X_FS_divTWO, 0x03},
{CC112X_FS_DSM0, 0x33},
{CC112X_FS_DVC0, 0x17},
{CC112X_FS_PFD, 0x50},
{CC112X_FS_PRE, 0x6E},
{CC112X_FS_REG_div_CML, 0x14},
{CC112X_FS_SPARE, 0xAC},
{CC112X_FS_VCO0, 0xB4},
{CC112X_XOSC5, 0x0E},
{CC112X_XOSC1, 0x03}

烦请TI的工程师帮忙解答一下,项目比较紧急,谢过了。

PS:各种寄存器读写,GPIO读取,SPI总线等,都没有问题。 但是就是无法通信。 尝试过Studio里面的多种设置了,都不行,板子是433MHz的,和Ti推荐的420-470MHz电路相同。

 有没有Ti工程师能帮忙解决一下,谢谢。

你在smart RF studio 里面两块芯片能正常通讯吗?

感谢回复,

这个现在没有测试,因为产品集成度集成高,体积较小,很难引出口线来连接。

附件为CC1120部分SCH,请帮忙确认一下硬件是否有误,我逐个排除问题。

从电路图里面不能看出有什么问题,你们可以在频谱仪上看一下,发射端有没有发射信号出来? 如果有信号发射出来,请测一下发射机和接收机的频率是否一致,CC1120的频带较窄,如果频频较大,也可能通讯不上。

用频谱仪测试是没有输出的。发射时电流有变化。

且另一个现象:

do
{
    for( j = 0; j < 250; j ++ );
    i = CC112X_GET_STATUS( );
}
while((i & 0xF0) != 0x20);
i = CC112X_ReadReg( CC112X_NUM_TXBYTES );
i = CC112X_ReadReg( CC112X_TXLAST );

CC112X_NUM_TXBYTES和CC112X_TXLAST的值貌似不对。

CC112X_TXLAST:出现累加值,比如每次发10BYTE,结读取果是10,20,30 。。。 按照手册意思理解应该为10

CC112X_NUM_TXBYTES的值也出现累加。

数次发送后,进入以下死循环,读出的STATUS值为0x7D。

do
{
    for( j = 0; j < 250; j ++ );
    i = CC112X_GET_STATUS( );
}
while((i & 0xF0) != 0x20);

建议将TI的标准代码写进去,排除一下硬件问题,看是否能够实现正常发射和接收

Ti的标准代码早已试过了。

如果TI的标准代码可以正常收发,那么硬件方面可能没有问题。

我也在调这个程序,好像和您遇到了相同的问题,请问您解决了吗?

把 STATE[2:0] 里面的State Machine Mode 读出来看看对不对。另外Tx 的电流测量出来具体是多少?请与Datasheet上的比较一下。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top