Part Number:CC1125Other Parts Discussed in Thread: CC1101
TI工程师们你们好,我想请教一下在CC1125模块测试过程中发现的问题。 测试硬件和配置如下:
硬件: 外购cc1125模块和自己做的底板
配置: 频率: 434M 速率: 40kbps 调制方式:4GFSK 通信方式:FIFO Mode/Normal Mode
发送和接收模式都是FIFO Mode,接收端获取FIFO数据的方式有两种:
1) 通过GPIO 的 PKT_SYNC_RXTX 信号判断收到完整的包后, 读取CC112X_NUM_RXBYTES寄存器, 然后以CC112X_BURST_RXFIFO方式一次性读取整包。
2) 一直轮询CC112X_NUM_RXBYTES寄存器,一旦发现FIFO中存在数据就以CC112X_BURST_RXFIFO方式读取FIFO。最后重新组合整个包。
测试结果: 在静止测试的时候两种方法的接收数据都是正确的; 但是在发射设备一直移动的情况下, 方法 2) 的接收数据错误率 是方法 1) 的 3倍 以上, 另外,即使方法 2) 中接收RF过程中没有一直读FIFO,只是读CC112X_NUM_RXBYTES寄存器, 也会发生同样的结果。
是不是因为RF接收数据到FIFO过程中读取某些寄存器 或者 硬件链路的SPI通信都会影响到RF数据? 还是IC本身有某种机制导致一边接收一边读FIFO时很容易出错?
希望TI的大神能好好看下,十分感谢!
Cherry Zhou:
您好,我们已收到您的问题并升级到英文论坛,如有答复将尽快回复您。谢谢!
,
Cherry Zhou:
您好,在我们的一部分收发器上,通过 SPI 进行的重轮询会影响RF性能。 这取决于RF设计以及 SPI 总线在电路板上的位置。
如果在active模式下输出 GPIO 上的时钟,情况也是如此。 关于CC1101,数据表中甚至有一个有关此问题的警告:
To optimize RF performance, these signals (CLK_XOSC) should not be used while the radio is in RX or TX mode.
关于电流消耗:让 MCU 处于唤醒状态,在无线电处于 RX 中时轮询某些寄存器,也不是很好。 相反,它应该处于某种低功耗模式,等待来自无线电的中断–告知它接收到数据包并且数据可用。
在接收时切换 DIO 会增加噪声,而灵敏度会更低。
JSON JACK 说: 测试结果: 在静止测试的时候两种方法的接收数据都是正确的; 但是在发射设备一直移动的情况下,
也就是说,如果您在测试期间将 TX 和 RX 板放置在同一位置,那么方法 1 和方法 2 的结果差不多是吗? 如果在测试期间移动 TX 或 RX 侧,方法 1 和方法 2 之间的差异会更大?
请问您为什么首先测试方法 2 ? 接收到的数据包的 RSSI 是多少? 您能否使用 SmartRF Studio 中的标准 50kbps 设置执行相同的测试并进行比较? 工程师想弄清楚所选的 phy 是否会影响性能。
,
JSON JACK:
1.
Cherry Zhou 说:在接收时切换 DIO 会增加噪声
“DIO” 指的是MCU 和 RF 芯片之间的通信引脚吗?
2.
Cherry Zhou 说:
也就是说,如果您在测试期间将 TX 和 RX 板放置在同一位置,那么方法 1 和方法 2 的结果差不多是吗? 如果在测试期间移动 TX 或 RX 侧,方法 1 和方法 2 之间的差异会更大?
是的,如果移动TX侧, 错误明显增大
3.
Cherry Zhou 说:请问您为什么首先测试方法 2 ? 接收到的数据包的 RSSI 是多少? 您能否使用 SmartRF Studio 中的标准 50kbps 设置执行相同的测试并进行比较?
测试方法2的原因是项目中TX是连续进行的,如果等到每个RF数据包都接收完毕再读FIFO的话,时间不能满足,所以需要一直读取FIFO。 SmartRF Studio 中的标准 50kbps 测试结果和问题描述相同,当TX移动, 数据包出错时RSSI为 -80dbm, 但是很多正确数据包的RSSI都小于 -80dbm
,
Cherry Zhou:
您好,
JSON JACK 说:“DIO” 指的是MCU 和 RF 芯片之间的通信引脚吗?
指的是在CC1125上的任意GPIO。
JSON JACK 说:测试方法2的原因是项目中TX是连续进行的,如果等到每个RF数据包都接收完毕再读FIFO的话,时间不能满足,所以需要一直读取FIFO。
也就是说,发送了无限长的数据包吗? 如果是的话,请问您具体的使用案例是什么?
JSON JACK 说:SmartRF Studio 中的标准 50kbps 测试结果和问题描述相同,当TX移动, 数据包出错时RSSI为 -80dbm, 但是很多正确数据包的RSSI都小于 -80dbm
如果工程师想要做实验重现一下该问题的话,您能否提供一下该操作的详细步骤?
,
JSON JACK:
1. 不是无限长,数据包是逐个发出的, 每个包大小为128字节, 但是每包的时间间隔只有几ms。案例是,在RX侧一块PCB上单个MCU需要控制多个cc1125,而每个1125上的RF数据包很有可能会同时到达, 所以RX侧MCU需要一直轮询RX FIFO而不是等待GPIO中断信号再去读整个包。
2. 实验方法就如问题描述的一样:
(1)程序
TX侧:
按照studio 50kbps配置,TX侧以10ms时间间隔发送固定长度包(128字节)
RX侧:
方法1)
通过GPIO3的 PKT_SYNC_RXTX 中断收到完整数据包后, 读取CC112X_NUM_RXBYTES寄存器获取长度, 最后以CC112X_BURST_RXFIFO方式读取整包并校验。
方法2)
RX侧一直轮询CC112X_NUM_RXBYTES寄存器,一旦RX FIFO中存在RF数据就以CC112X_BURST_RXFIFO方式全部读出到MCU内存中,直到读取的总长度为128字节,最后校验。
(2)RX TX位置
上面的方法1) 和方法2) 分别进行以下两组位置测试:
第一组测试, TX 和 RX 都放在同一位置, 接收数据包正确; 第二组测试, RX侧位置不变,在室内手持TX侧步行移动至15米外然后折返。
也就是说总的测试结果有4种: 1. 当TX RX 在同一位置时, 接收数据包都是正确的。 2.当TX移动时,方法2) 比方法1) 的误码率要严重得多。
,
Cherry Zhou:
JSON JACK 说:(1)程序
您好,系统受时间限制,只有在接收到完整的数据包后才能读取数据包可能会很困难。 当您将 RX FIFO 填充到高于给定阈值时,您能否选择获取中断来避免连续轮询?
JSON JACK 说:(2)RX TX位置
关于RX和TX位置,工程师这几天会进行一些相关的实验,有新的进展会尽快给到您。
,
Cherry Zhou:
您好,工程师用了 SmartRF Studio 和 50kbps 设置以及 126 字节数据包。有一些数据包错误,这些所有错误都被放置在数据包的末尾,以这些字节为单位:
您的是这样的吗?
,
JSON JACK:
如果收到一包再去读FIFO,大部分错误位置出现在包中间或尾部,无规律; 如果以RX阈值中断16或32读FIFO,大部分错误出现在中断发生的时候,而且多数只错1个字节
RX 阈值的错误如下:
,
Cherry Zhou:
您好,如果您仅仅使用 SmartRF Studio (意味着在 RX 端不使用轮询) :请问您看到的是由于行走导致的位错误还是您所处的位置?
工程师目前怀疑可能是由于您在室内执行此操作,对于某些特定位置,多路径 (或类似) 会出现问题,其中,TX 信号部分损坏,它从不同的墙壁反射,以及信号不同的部分到达 RX 节点也稍有不同。
,
JSON JACK:
Cherry Zhou 说:您好,如果您仅仅使用 SmartRF Studio (意味着在 RX 端不使用轮询) :请问您看到的是由于行走导致的位错误还是您所处的位置?
不好意思 我没明白这句话是什么意思
,
Cherry Zhou:
您好,您先看下英文的能否理解:
Do you see bit errors due to walking or is it the position you are at?
,
JSON JACK:
当TX 静止的时候是没有错误的, 只有走动时错误才会发生
,
Cherry Zhou:
您好,工程师需要下周再做一些测试再回复您。
走动产生影响很奇怪,因为与射频相比,移动速度非常慢。 工程师还是怀疑一些基本的射频室内效应 (fading, multipath)。 如果是因为这个的话,那就很难解决。
JSON JACK 说:硬件: 外购cc1125模块和自己做的底板
硬件会不会有点问题,请问您使用的天线类型是什么?天线放置的位置,和您走动的位置相比,是怎么样的?
,
JSON JACK:
发射用弹簧天线:
接收用铜棒天线:
硬件模块应该是没问题的,我们买的是成熟的模块厂商产品。人手持发射设备以正常姿势走动,发射天线在人体大腿外侧来回摆动, 走动距离接收天线室内10米以内。接收天线位于天花板,高度3米左右。
,
Cherry Zhou:
JSON JACK 说:发射天线在人体大腿外侧来回摆动,
请问距离身体有多近? 如果来回摆动并且在摆动时靠近身体,那么当天线靠近身体时,您可能会绕过天线 (或至少导致褪色)。
,
JSON JACK:
1 – 30 cm
,
Cherry Zhou:
您好,距离小于 1 cm 太接近人体,会影响RF的性能。