UWB定位产品开发爬坑记录-2


近期的几个问题着实让人头疼,解决时间长,过程也是相当曲折;

问题一、丢包率高;

测距丢包率很高,一直在40%以上;


还好硬件同事不甩锅,发现硬件PA的问题,重新修改了一版硬件后,确实丢包率下来了好多,还是需要有一群靠谱的伙伴;


当然软件这块也做了好多修改,丢包重试,sniffer模式的实现;


在硬件同事稳定的版本基础上,实现一个单发单收的版本,丢包率能控制在了1%以下;


问题二:待机功耗高;

2s定位一次,5分钟的平均功耗一直在2ma左右,对比竞品2s定位一次,5分钟的平均功耗只有800微安;


功耗仪上测试了好几版,抓波形,分析工作时长;然后对比分析竞品的工作时长,找到功耗消耗长的原因,主要有几个:

第一个:TX工作时长在3ms,根据官方手册,如果工作速率在110kbps,tx的时间确实在3ms左右:

呱牛笔记

第二个:RX时间长;

对比分析,是我们的配置导致的,修改前的配置:

dwt_config_t config =
{
    2,               /* Channel number. */
    DWT_PRF_64M,     /* Pulse repetition frequency. */
    DWT_PLEN_1024,   /* Preamble length. Used in TX only. */
    DWT_PAC32,       /* Preamble acquisition chunk size. Used in RX only. */
    9,               /* TX preamble code. Used in TX only. */
    9,               /* RX preamble code. Used in RX only. */
    1,               /* 0 to use standard SFD, 1 to use non-standard SFD. */
    DWT_BR_110K,     /* Data rate. */
    DWT_PHRMODE_STD, /* PHY header mode. */ 
    (1025 + 64 - 32) /* SFD timeout (preamble length + 1 + SFD length - PAC size). Used in RX only. */
};


官方例子提供的配置:

呱牛笔记


呱牛笔记


最后功耗能降下来使用的配置:

dwt_config_t config =
{
    2,               /* Channel number. */
    DWT_PRF_64M,     /* Pulse repetition frequency. */
    DWT_PLEN_128,    /* Preamble length. Used in TX only. */
    DWT_PAC8,       /* Preamble acquisition chunk size. Used in RX only. */
    9,               /* TX preamble code. Used in TX only. */
    9,               /* RX preamble code. Used in RX only. */
    1,               /* 0 to use standard SFD, 1 to use non-standard SFD. */
    DWT_BR_6M8,     /* Data rate. */
    DWT_PHRMODE_STD, /* PHY header mode. */ 
    (129 + 8 - 8) /* SFD timeout (preamble length + 1 + SFD length - PAC size). Used in RX only. */
};

 

最后还剩下一个基站的吞吐量有待提升,继续加油!

请先登录后发表评论
  • 最新评论
  • 总共0条评论