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.

CC1310的ADC端口在哪设置

Other Parts Discussed in Thread: CC1310

以前从未用过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的基本偏差,基本上无法用来做稍微精确一点的运用。

  • 可以检测一下变化时候是不是供电变化造成的,如果是,可以在VCC上并个电容,确保供电系统稳定。发射的时候确实需要消耗不少电能呢。