This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
以前从未用过TI公司的MCU。现在开始学习CC1310,不知从何下手编程。
按照TI技术支持工程师的指导,配备了两块LaunchPad跑例程rfWsnConcentrator以及rfWsnNode,有以下问题,请给予指教。
问题1、我只有两块LaunchPad板,一块做Concentrator,一块做node,在node板的DIO28引脚输入1.5V的电压,在Concentrator端测得了ADC的输出,通过将node板放入金属盒子中并盖上盖子的方式来不断降低接收信号的强度,得到了以下的结果:
Nodes Value SW RSSI |
0x9b 1400 0 -058 |
0xbe 1418 0 -063 |
0xbf 1413 0 -062 |
0xca 1403 0 -070 |
疑问1:节点号不断在改变。是否是视为信号中断,又重新接收到,集中器端认为是节点端重新上电,所以节点号发生改了变,实际上对应的都是同一个节点?
疑问2:ADC输出的值在1400至1418之间摆动,根据ADC的参考电压为4.3V的情况,说明输出的电压值波动为:1.0498046875mV*19=19.94mV,而实际上用4位半万用电表在DIO28端口测得的电压波动仅仅为0.3mV。请问,是何原因导致ADC转换的AD值波动变大?有何办法消除干扰。
问题3:我的应用板已经设计了用DIO28、DIO29和DIO30作为ADC的端口(需采样3个通道的数据),另外,用DIO6、DIO7为传感器供电,需要在ADC唤醒之前拉高DIO6、DIO7端口,延时100毫秒后开始采样,采样结束后再拉低。请问,我该在何处(哪个函数中)编写代码,如何编写才能实现多通道采样以及为传感器供电同时又不破坏WSN的例程执行?
问题4、选用CC1310是希望用于做物联网项目,不知用Wsn可以支撑多少个节点?
问题5、rfWsnConcentrator例程运行中,输出的数据周期难以意料,正常时每秒输出一组数据,但视乎没有规律可循,有时等待数分钟也没有数据输出,请问在何处能找到详细介绍该例程运作原理、过程和操作注意事项的资料?
以上问题,望给予指导。先谢了!
对于波动较大的那个,你可以接到示波器观察下,是不是真滴波动大,你也可以通过滤波的方式进行降低波动,设置一个FIFO,比如10个,在这10个中去掉最大值最小值,求平均值。
用示波器无法测出电压的微小变化,已经用高精度万用表反复测试过输入电压的稳定性:DIO28引脚上的波动不大于0.3mV,在信号质量很好的情况下,ADC的输出值相对稳定一些:
Nodes Value SW RSSI |
0x9b 1407 0 -088 |
Nodes Value SW RSSI |
0x9b 1408 0 -088 |
Nodes Value SW RSSI |
0x9b 1407 0 -088 |
Nodes Value SW RSSI |
0x9b 1409 0 -088 |
Nodes Value SW RSSI |
0x9b 1407 0 -087 |
Nodes Value SW RSSI |
0x9b 1409 0 -088 |
Nodes Value SW RSSI |
0x9b 1407 0 -088 |
Nodes Value SW RSSI |
0x9b 1408 0 -088 |
Nodes Value SW RSSI |
0x9b 1407 0 -088 |
Nodes Value SW RSSI |
0x9b 1409 0 -088 |
Nodes Value SW RSSI |
0x9b 1406 0 -088 |
Nodes Value SW RSSI |
0x9b 1409 0 -088 |
Nodes Value SW RSSI |
0x9b 1406 0 -088 |
Nodes Value SW RSSI |
0x9b 1408 0 -088 |
Nodes Value SW RSSI |
0x9b 1407 0 -088 |
Nodes Value SW RSSI |
0x9b 1409 0 -088 |
Nodes Value SW RSSI |
0x9b 1406 0 -089 |
Nodes Value SW RSSI |
0x9b 1408 0 -088 |
Nodes Value SW RSSI |
0x9b 1406 0 -088 |
Nodes Value SW RSSI |
0x9b 1409 0 -088 |
Nodes Value SW RSSI |
0x9b 1406 0 -088 |
Nodes Value SW RSSI |
0x9b 1408 0 -088 |
Nodes Value SW RSSI |
0x9b 1406 0 -088 |
Nodes Value SW RSSI |
0x9b 1409 0 -088 |
Nodes Value SW RSSI |
0x9b 1406 0 -088 |
Nodes Value SW RSSI |
0x9b 1409 0 -088 |
Nodes Value SW RSSI |
0x9b 1407 0 -088 |
Nodes Value SW RSSI |
0x9b 1409 0 -088 |
Nodes Value SW RSSI |
0x9b 1406 0 -088 |
如上表所示:当信号很好时,节点和集中器的连接始终保持(节点号始终保持不变)ADC的输出值约有3个LSB的波动:1406——1409。
但一旦信号变差后,LaunchPad板的ADC输出数值波动急剧增大,最大时有9个LSB的波动:
Nodes Value SW RSSI |
0x9b 1400 0 -058 |
0xbe 1418 0 -063 |
0xbf 1413 0 -062 |
0xca 1403 0 -060 |
由此结果,可以认为应该是发射对AD采样有影响,或者是wsn例程有问题。
您给出的办法,是用软件的方式来降低噪声,个人认为这是在硬件设计实在消除不了噪声的情况下而采取的没有办法的办法。好的设计应该是在硬件设计阶段就要尽可能地降低噪声,如此大的噪声,已经远远超出了ADC的基本偏差,基本上无法用来做稍微精确一点的运用。