Part Number:CC1120Other Parts Discussed in Thread: CC1100E, , SMARTRFTRXEBK
这是由SmartRF Studio生成的寄存器配置。
// Address Config = No address check // Bit Rate = 1.2 // Carrier Frequency = 434.000000 // Deviation = 3.997803 // Device Address = 0 // Manchester Enable = false // Modulation Format = 2-FSK // PA Ramping = true // Packet Bit Length = 0 // Packet Length = 255 // Packet Length Mode = Variable // Performance Mode = High Performance // RX Filter BW = 10.000000 // Symbol rate = 1.2 // TX Power = 15 // Whitening = false #include "stdint.h" const uint16_t CC112X_REG_SETTING[][2]= { {0X0000,0X53},//IOCFG3GPIO3 IO PIN CONFIGURATION {0X0001,0X46},//IOCFG2GPIO2 IO PIN CONFIGURATION {0X0003,0X51},//IOCFG0GPIO0 IO PIN CONFIGURATION {0X0008,0X0B},//SYNC_CFG1SYNC WORD DETECTION CONFIGURATION REG. 1 {0X000C,0X1C},//DCFILT_CFGDIGITAL DC REMOVAL CONFIGURATION {0X0010,0XC6},//IQICDIGITAL IMAGE CHANNEL COMPENSATION CONFIGURATION {0X0013,0X05},//MDMCFG0GENERAL MODEM PARAMETER CONFIGURATION REG. 0 {0X0017,0X20},//AGC_REFAGC REFERENCE LEVEL CONFIGURATION {0X0018,0X19},//AGC_CS_THRCARRIER SENSE THRESHOLD CONFIGURATION {0X001C,0XA9},//AGC_CFG1AUTOMATIC GAIN CONTROL CONFIGURATION REG. 1 {0X001D,0XCF},//AGC_CFG0AUTOMATIC GAIN CONTROL CONFIGURATION REG. 0 {0X001E,0X00},//FIFO_CFGFIFO CONFIGURATION {0X0021,0X14},//FS_CFGFREQUENCY SYNTHESIZER CONFIGURATION {0X0028,0X20},//PKT_CFG0PACKET CONFIGURATION REG. 0 {0X002E,0XFF},//PKT_LENPACKET LENGTH CONFIGURATION {0X2F00,0X00},//IF_MIX_CFGIF MIX CONFIGURATION {0X2F01,0X22},//FREQOFF_CFGFREQUENCY OFFSET CORRECTION CONFIGURATION {0X2F0C,0X6C},//FREQ2FREQUENCY CONFIGURATION [23:16] {0X2F0D,0X80},//FREQ1FREQUENCY CONFIGURATION [15:8] {0X2F12,0X00},//FS_DIG1FREQUENCY SYNTHESIZER DIGITAL REG. 1 {0X2F13,0X5F},//FS_DIG0FREQUENCY SYNTHESIZER DIGITAL REG. 0 {0X2F16,0X40},//FS_CAL1FREQUENCY SYNTHESIZER CALIBRATION REG. 1 {0X2F17,0X0E},//FS_CAL0FREQUENCY SYNTHESIZER CALIBRATION REG. 0 {0X2F19,0X03},//FS_DIVTWOFREQUENCY SYNTHESIZER DIVIDE BY 2 {0X2F1B,0X33},//FS_DSM0FS DIGITAL SYNTHESIZER MODULE CONFIGURATION REG. 0 {0X2F1D,0X17},//FS_DVC0FREQUENCY SYNTHESIZER DIVIDER CHAIN CONFIGURATION .. {0X2F1F,0X50},//FS_PFDFREQUENCY SYNTHESIZER PHASE FREQUENCY DETECTOR CON.. {0X2F20,0X6E},//FS_PREFREQUENCY SYNTHESIZER PRESCALER CONFIGURATION {0X2F21,0X14},//FS_REG_DIV_CMLFREQUENCY SYNTHESIZER DIVIDER REGULATOR CONFIGURAT.. {0X2F22,0XAC},//FS_SPAREFREQUENCY SYNTHESIZER SPARE {0X2F27,0XB4},//FS_VCO0FS VOLTAGE CONTROLLED OSCILLATOR CONFIGURATION REG.. {0X2F32,0X0E},//XOSC5CRYSTAL OSCILLATOR CONFIGURATION REG. 5 {0X2F36,0X03},//XOSC1CRYSTAL OSCILLATOR CONFIGURATION REG. 1 {0XFFFF,0XFF} };
经过我实际测试,当接上天线时,即使没有射频信号源存在,读取的RSSI值也高达-75dbm,一直在这个值左右波动。当我拔掉天线时,RSSI值就回落到-100dBm左右,很显然这个才是无信号时正常的值。RSSI值我已经用
软件进行了补偿,用仪器输入不同强度的射频信号,读取的RSSI值都是正常的,和仪器输出的强度误差在3dBm内。这应该说明RSSI指示寄存器是没有问题的。问题就在于:在没有射频信号时,为何读取的RSSI值会这么
高?请教一下这是什么原因引起的,要如何改善这个问题?这个问题对于接收性能影响太大了
补充说明一下:我已经尝试了在SmartRF Studio中使用不同的射频参数设置,并没有任何的变化或改善。
Alex Zhang:
您好,您这边的开发板是自己设计的还是使用ti官网购买的开发板?
,
?? ?:
您好,我是自己做的板子。我也尝试通过用手去触摸板子上的元器件,希望能够看到RSSI数值能够改变,即使是更差。但是并没有任何的反应;我也对比了一下板子,没发现哪里有问题,板子的设计原理图我是照搬TI提供的参考设计,433段的。对于发射和接收灵敏度的测试,性能感觉还可以接受,发射的传导功率有14.5dBm,接收通过RSSI值来观察,可以做到-100dBm的灵敏度变化。当然肯定没有TI设计的开发板好,但是对于项目需求来说够用了。唯一的问题就是,当接上天线后,即使没有射频信号存在,RSSI值都比较高,大约在68–75dBm之间波动。拔掉天线后,数值就正常了。我用原来设计的CC1100E板子,读取RSSI对比,在相同频率下,CC1100E读取的RSSI值是没有 发现这个问题的。我不知道问题到底出在哪里,是因为CC1120接收灵敏度比CC1100E高吗?还是哪里设置错了?
,
?? ?:
对了,补充一下,当我输入更高的射频信号到CC1120,发现它的RSSI最高只能够显示-9dBm,就是说,高于这个强度的信号输入,RSSI被冻结在-9dBm了,不会变了。当信号降低后才恢复变化。这个是正常的吗?
,
Alex Zhang:
好的 我这边会联系工程师 跟进您这边的问题
,
?? ?:
非常感谢您的帮助,今天我调试了一天,反复把AGC相关的寄存器设置不同的值,唯一能够影响到RSSI值的只有AGC最大增益寄存器,当我把最大增益寄存器设置到和最小增益寄存器值时,反而RSSI值在无射频信号时比原来还增加了10dBm.除此以外,更改其他寄存器并没有发现有明显的变化。无论如何,当接上天线和拔掉天线,它们之间的RSSI值都会相差大约30dBm。我感觉这明显不对劲的,正常来说,在没有明显干扰的情况下,接上天线的RSSI增加不会超过10dBm才对,这还是基于高增益的接收机情况下。如果接收机增益低,这个差值应该会更低。可以麻烦你们那边用TI的开发板测试一下这个差异吗??就是接上天线和不接天线,RSSI差异是多少?? 我测试过非常多的频率,从450M-480M的频率区间我都测试过,470M以上的频率,差异会稍微低些,大约25dBm,而低于450M的就接近30dBm了。总体来说,都不太对劲
,
Alex Zhang:
我已经将您的上述问题反应给工程师这边这需要一些时间来对您进行回复,谢谢您
,
?? ?:
非常感谢,期待你们的帮助
,
Alex Zhang:
不客气,您这边耐心等待就可以 谢谢
,
?? ?:
您好,请问一下什么时候能够回复我这边的问题呢。由于目前项目其他进程差不多完成了,所以现在有点急。麻烦了
,
Alex Zhang:
我首先想到的是背景噪音。他们是否尝试过使用连接了天线的频谱分析仪(或类似设备)来测量背景噪声,以查看在这种情况下测量到了什么?
,
?? ?:
您好,请相信我做了非常多的基本测试,我肯定使用频谱分析仪测试过了环境噪声,但是除了看到手机信号塔的信号(868M,1.1G)和微弱的2.4G WIFI信号,并没有发现400M-500M这个频段有信号存在。另外,为了进一步确定并非是环境中其他信号造成的问题,我故意输入不同频段内的高强度信号到CC1120,发现CC1120的抗干扰能力非常强,RSSI值并没有因为有高强度的其他频段信号进入而出现明显的变化,这一点令我感到十分惊奇。为了证明那未知的信号来源是由天线接收到的,我用双手握住天线,发现RSSI值回落到-100dBm了,这令我更加确信,有我不知道的未知信号进入了CC1120。我尝试拿着板子到处走动,想尝试寻找信号源(如果靠近信号源,RSSI值应该会更强),但是失败了,没有找到能够让RSSI值更强的位置。但是经过测试判断信号又是从天线进入的,我是真的无奈了。我找不到也想不明白为什么,如果那个信号存在,为何找不到,看不到。如果不存在,为何RSSI会有这么高的强度指示
,
?? ?:
您好,我刚才直接用信号发生器输出了500M的+13dBm高强度射频信号给CC1120,CC1120工作在接收模式,频率为470M。发现了令我感到非常震惊的现象,之前一直没有尝试过这么靠近的频率测试,居然错过了这个现象。您猜怎么着?RSSI值居然降低了,它居然在接收了500M的+13dBm信号后,RSSI值降低到-103dBm了,这说明什么,说明了里面的AGC动作了,把前置增益降低了,而由于CC1120抗干扰太强,所以反而这时候RSSI值正常了。我想我找到真相了,真相就是CC1120真的接收到了未知信号,并且它承认了这个信号。
,
?? ?:
这是非常不合理的一点,真的。就算那个未知信号存在,但是它绝对是非法的。就像我的测试信号那样,它是非法的。但是由于CC1120内部前端增益太高,它把那个非法的信号放大了,这个是非常恐怖的一点。恐怖就恐怖在,CC1120在这时候没有了选频能力,它居然在这个时候失去了抗干扰这个功能。我想不明白,为什么??、基本可以确定,它是把噪声给放大了,所以才会出现不管任何频率,RSSI值都这么高,反而输入一个高强度的非法信号,RSSI值倒是变正常了,因为AGC动作了,前端增益降低了。我真的不知道如何是好了,它为什么要直接把非法信号放大,难道不应该先筛选频率吗??还是筛选失败了?由于噪声信号弱,筛选失败??请你们来帮助我,是不是能够通过寄存器什么设置来解决这个问题,我感觉这个问题不应该存在,这个问题是不合理的,正常来说,前端筛选信号,然后放大,不应该出现这种情况才对。是不是哪里设置得还不够好?
,
?? ?:
请相信我所有的寄存器设置都是用Smart RF studio生成的,我只是根据项目需求修改了部分设置,而我确信这部分设置不会造成这种影响。我重新上传这份设置麻烦你们帮忙看看
// Address Config = Address check, no broadcast// Bit Rate = 50// Carrier Frequency = 434.000000// Deviation = 24.963379// Device Address = 0// Manchester Enable = false// Modulation Format = 2-GFSK// PA Ramping = true// Packet Bit Length = 0// Packet Length = 24// Packet Length Mode = Variable// Performance Mode = High Performance// RX Filter BW = 100.000000// Symbol rate = 50// TX Power = 15// Whitening = true#include "stdint.h" const uint16_t CC112X_REG_SETTING[][2]={{0X0000,0X53},//IOCFG3GPIO3 IO PIN CONFIGURATION{0X0001,0X46},//IOCFG2GPIO2 IO PIN CONFIGURATION{0X0003,0X51},//IOCFG0GPIO0 IO PIN CONFIGURATION{0X0008,0X08},//SYNC_CFG1SYNC WORD DETECTION CONFIGURATION REG. 1{0X000A,0X99},//DEVIATION_MFREQUENCY DEVIATION CONFIGURATION{0X000B,0X0D},//MODCFG_DEV_EMODULATION FORMAT AND FREQUENCY DEVIATION CONFIGUR..{0X000C,0X15},//DCFILT_CFGDIGITAL DC REMOVAL CONFIGURATION{0X000D,0X18},//PREAMBLE_CFG1PREAMBLE LENGTH CONFIGURATION REG. 1{0X000F,0X3A},//FREQ_IF_CFGRX MIXER FREQUENCY CONFIGURATION{0X0010,0X00},//IQICDIGITAL IMAGE CHANNEL COMPENSATION CONFIGURATION{0X0011,0X02},//CHAN_BWCHANNEL FILTER CONFIGURATION{0X0013,0X05},//MDMCFG0GENERAL MODEM PARAMETER CONFIGURATION REG. 0{0X0014,0X99},//SYMBOL_RATE2SYMBOL RATE CONFIGURATION EXPONENT AND MANTISSA [1..{0X0015,0X99},//SYMBOL_RATE1SYMBOL RATE CONFIGURATION MANTISSA [15:8]{0X0016,0X99},//SYMBOL_RATE0SYMBOL RATE CONFIGURATION MANTISSA [7:0]{0X0017,0X3C},//AGC_REFAGC REFERENCE LEVEL CONFIGURATION{0X0018,0XA1},//AGC_CS_THRCARRIER SENSE THRESHOLD CONFIGURATION{0X0019,0X9A},//AGC_GAIN_ADJUSTRSSI OFFSET CONFIGURATION{0X001C,0XA9},//AGC_CFG1AUTOMATIC GAIN CONTROL CONFIGURATION REG. 1{0X001D,0XC0},//AGC_CFG0AUTOMATIC GAIN CONTROL CONFIGURATION REG. 0{0X0021,0X14},//FS_CFGFREQUENCY SYNTHESIZER CONFIGURATION{0X0026,0X00},//PKT_CFG2PACKET CONFIGURATION REG. 2{0X0027,0X55},//PKT_CFG1PACKET CONFIGURATION REG. 1{0X0028,0X20},//PKT_CFG0PACKET CONFIGURATION REG. 0{0X002D,0X79},//PA_CFG0POWER AMPLIFIER CONFIGURATION REG. 0{0X002E,0X18},//PKT_LENPACKET LENGTH CONFIGURATION{0X2F00,0X00},//IF_MIX_CFGIF MIX CONFIGURATION{0X2F02,0X0A},//TOC_CFGTIMING OFFSET CORRECTION CONFIGURATION{0X2F0C,0X6C},//FREQ2FREQUENCY CONFIGURATION [23:16]{0X2F0D,0X80},//FREQ1FREQUENCY CONFIGURATION [15:8]{0X2F12,0X00},//FS_DIG1FREQUENCY SYNTHESIZER DIGITAL REG. 1{0X2F13,0X5F},//FS_DIG0FREQUENCY SYNTHESIZER DIGITAL REG. 0{0X2F16,0X40},//FS_CAL1FREQUENCY SYNTHESIZER CALIBRATION REG. 1{0X2F17,0X0E},//FS_CAL0FREQUENCY SYNTHESIZER CALIBRATION REG. 0{0X2F19,0X03},//FS_DIVTWOFREQUENCY SYNTHESIZER DIVIDE BY 2{0X2F1B,0X33},//FS_DSM0FS DIGITAL SYNTHESIZER MODULE CONFIGURATION REG. 0{0X2F1D,0X17},//FS_DVC0FREQUENCY SYNTHESIZER DIVIDER CHAIN CONFIGURATION ..{0X2F1F,0X50},//FS_PFDFREQUENCY SYNTHESIZER PHASE FREQUENCY DETECTOR CON..{0X2F20,0X6E},//FS_PREFREQUENCY SYNTHESIZER PRESCALER CONFIGURATION{0X2F21,0X14},//FS_REG_DIV_CMLFREQUENCY SYNTHESIZER DIVIDER REGULATOR CONFIGURAT..{0X2F22,0XAC},//FS_SPAREFREQUENCY SYNTHESIZER SPARE{0X2F27,0XB4},//FS_VCO0FS VOLTAGE CONTROLLED OSCILLATOR CONFIGURATION REG..{0X2F32,0X0E},//XOSC5CRYSTAL OSCILLATOR CONFIGURATION REG. 5{0X2F36,0X03},//XOSC1CRYSTAL OSCILLATOR CONFIGURATION REG. 1{0XFFFF,0XFF} };
,
?? ?:
通过这个现象我猜测,CC1120是不是先放大,再滤波的?而RSSI值是否在滤波前就生成的?好像只有这样才符合目前发现的问题,期待你们的帮助,我是真的无奈了
,
Alex Zhang:
您好,感谢您的回复,我这边已经跟进您的问题,这需要一些时间,谢谢
,
Shuyang Zhong:
您好,
1. CC1120 EVM在同样环境下表现如何?
2. 传导测试RSSI结果如何?
3. 改变环境(例如到空旷室外)对结果有何影响?
Best regards,
Shuyang
,
?? ?:
您好,EVM我没有进行过测试,传导测试的RSSI基本是正常的,我从-90dBm到0dBm这个范围内测试过传导接收灵敏度,RSSI指示误差在5dBm以内,主要表现是弱信号RSSI指示很精准,就是强信号时大约会有4dBm的误差,当信号超过-5dBm时,RSSI冻结在-9dBm不再变化。这个可以接受。发射传导功率会死14.5dBm。我也在不同的环境测试过,例如地下车库,电梯里面,室内。由于我在城市地区,没有在绝对空旷的环境进行过测试。在不同环境下,RSSI表现有相当明显的变化,例如在电梯内,RSSI会比其他地方低大约10dB左右。我也测试过将天线摆放在不同的角度,有个别的角度RSSI会低至-100dBm,显然这个是正常的。我现在非常怀疑是手机发射塔的信号噪声对CC1120造成了干扰,因为不管我在哪里,接上天线后CC1120的RSSI值都无法保持低于-100dBm,只能在个别角度下会达成。
,
?? ?:
现在我能够确定的一点就是,假如,环境中存在比较强的信号,不管这个信号是什么频率,它经过天线进入CC1120时,都会改变CC1120的前端增益。这意味着,CC1120的接收灵敏度会急剧降低。我感觉这是一个比较明显的BUG,就算CC1120抗干扰做得非常好,但是由于前端增益被其他非法信号降低了,就会造成CC1120接收期望信号的灵敏度变差。我想也许需要修改下TI提供的参考设计重新做下测试,例如在天线输入后增加一个带通滤波器,让它能够降低频带外的噪声或是非法信号强度,不知道你们觉得这个是否是可行的解决方案??
,
Shuyang Zhong:
传导测试正常说明芯片接收机是正常的,至于环境中有噪声的时候CC1120前端增益是否有改变,这个需要咨询产品线了。建议您到英文E2E论坛上问一下(e2e.ti.com),上面会有产品线的工程师来回答。
如果要自己验证的话,还是建议找个EVM进行一下对比,如果EVM没问题而您的板子有问题的话,再考虑修改硬件设计。
Best regards,
Shuyang
,
?? ?:
哎,今天我找了个带外衰减为-40dB的介质滤波器装上去测试,有改善,但是无法完全解决问题,无信号时RSSI依然还在-90dBm左右波动,比原来好些。我想买个你们TI那个开发板回来测试一下是否也是如此,因为实在我看不出我自己的板子哪里有问题。不知TI那个CC1120的开发板,要在哪里买呢?可以提供一下链接吗,谢谢
,
Shuyang Zhong:
CC1120EMK-420-470:
https://www.ti.com/tool/CC1120EMK-420-470
搭配SMARTRFTRXEBK:
https://www.ti.com/tool/SMARTRFTRXEBK
可以评估433MHz频段。
Best regards,
Shuyang