在操作CC1120芯片时,将GPIO0设置成0x06, 检测同步字中断,在发送的时候,能看到有中断产生,可是接收板却一直没有中断产生,寄存器配置都是一样的,板子也是一样的,不知道为何?
代码完全按照cc112x_simple_link_api.C中写的!只不过是没有使用中断,而是利用查询检测RX FIFO中是否有数据。
同时使用示波器查看GPIO0引脚上的波形!
示波器上没有任何显示!
liYong:
遇到同样的问题,发射能产生中断,接收始终没有中断产生,读取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电路相同。
liYong:
回复 liYong:
有没有Ti工程师能帮忙解决一下,谢谢。
SZ:
回复 liYong:
你在smart RF studio 里面两块芯片能正常通讯吗?
liYong:
回复 SZ:
感谢回复,
这个现在没有测试,因为产品集成度集成高,体积较小,很难引出口线来连接。
附件为CC1120部分SCH,请帮忙确认一下硬件是否有误,我逐个排除问题。
SZ:
回复 liYong:
从电路图里面不能看出有什么问题,你们可以在频谱仪上看一下,发射端有没有发射信号出来? 如果有信号发射出来,请测一下发射机和接收机的频率是否一致,CC1120的频带较窄,如果频频较大,也可能通讯不上。
liYong:
回复 SZ:
用频谱仪测试是没有输出的。发射时电流有变化。
且另一个现象:
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);
SZ:
回复 liYong:
建议将TI的标准代码写进去,排除一下硬件问题,看是否能够实现正常发射和接收
liYong:
回复 SZ:
Ti的标准代码早已试过了。
SZ:
回复 liYong:
如果TI的标准代码可以正常收发,那么硬件方面可能没有问题。
pang jian:
回复 liYong:
我也在调这个程序,好像和您遇到了相同的问题,请问您解决了吗?