我的UWB学习之旅(一)------- 硬件篇

前言

博主本人目前是一名大四学生,由于大一时期的某个辣鸡比赛导致了我本人在大学四年一直对室内定位技术抱有奇妙的感情。然而大学四年整天都在忙于一些奇奇怪怪的小项目或其他事情,一直没有涉足这个领域。临近毕业的时候才算是想到要给自己这个奇妙的感情一个交代,于是便选择了UWB室内定位方面的应用作为我的毕业设计。我会尽量在这里记录我做毕业设计的整个过程,也算是为后来其他要学习这方面的大佬们当一当垫脚石把(笑)。其他废话就不说了,我们直入正题。

方案选择

UWB方案

UWB的方案当然是采用炙手可热的Decawave公司生产的DW1000芯片(说实话我也没去找其他)。然而我自己本身也是个穷人,买不起那么多个该公司已经做好的成品模块DWM1000,所以我决定直接采用芯片,自行寻找资料来设计外部电路。

MCU方案

控制器我直接选用了stm32f103c8t6,这个芯片可能是目前最热门的低端控制器(之一)了吧,几乎每一个电类大学生都接触过这个芯片,本身价格也相对美丽。Decawave官方提供的工程也是按照这个系列的芯片来建立的,所以也方便我们后续编程的时候库的移植。不过在此我先说明一下,stm32f103系列芯片是不带硬件浮点运算单元(FPU)的,所以选择这个系列的芯片最好是打消本地进行TDOA或TOA运算的念头。不带浮点运算单元的处理器计算小数是很慢的,这会对整个UWB系统的实时性带来极大的影响(切身体会。。。)。

数据上传方案

数据上传方面我采用了安信可公司(经用户qq_39277294指正)的WIFI模块ESP-12S。说实话本来我是打算直接一个串口连一个蓝牙发到电脑了事的,但是毕设嘛,总想搞点花里胡哨的东西hhh,况且自己写个TCP上位机也没多难。

原理图部分

DW1000的应用原理图其实官方已经给出,各位翻一翻datasheet或者硬件设计文档(APH001 DW1000 HW Design Guide v1.1)就可以找到。但是为了方便一些英语不好的同学,我决定还是在这个地方把它贴出来:
Decawave官方提供的DW1000芯片应用原理图
这里面有几点很坑的地方:

  1. 芯片的16和17脚,即RF_N和RF_P这两个引脚是芯片的射频信号接收脚,有过设计基础的同学都知道这里到应该走差分线来减小噪声,保证信号的正常。不过官方图这里并没有标出,所以在此先提个醒,如果是第一次做这类的话,请保证16和17脚到两个12pF的电容,两个电容到T1变压器的走线一定要走差分线。如果不知道如何在AD中添加差分线的话可以看看下面这个链接Altium Designer 19全套入门技巧:差分线的添加走线与蛇形等长(PS:B站真的是个好东西,有啥不会的就去上面找找吧,八成都有视频讲解)。

  2. 还是这两个脚,在给出的途中可以看到天线到变压器的连线上有一个Trace 50R,引脚到电容的连线上有一个Trace 100R,这两个地方的意思是天线到变压器之间的走线需要满足50欧姆的单端阻抗,而电容到引脚之间的走线需要满足100欧姆的双端阻抗。那么问题就来了,我查了好多资料,一般都是在设计四层或以上层数的PCB时才会考虑阻抗匹配问题,以至于你拿个双层板去找PCB打样厂商说要做阻抗匹配别人都不会鸟你(切身经历。。。),那怎么办呢?
    答案就是不管他在这里插入图片描述在我搞了大半天以后,我发现我直接拿7mil和35mil的线直接连上以后居然什么问题都没有,接收发送一切正常。由于我在画射频板方面也是个菜鸡,所以具体这个阻抗问题如何应用就交给大佬们来研究了。不过有一点,射频端的器件一定不要分的太开了,走线一定要短,emmmm,还有不要在周围铺地。

  3. DW1000这个芯片是有内置锁相环的,而它锁相环的滤波器却是外置的,就是8和12这两个引脚。PDF上对这两个引脚的解释如下:在这里插入图片描述意思就是锁相环的外部滤波器接口,8脚与VDDCLK(9脚)构成一个RC滤波器,12脚与VCCVCO(11脚)构成RC滤波器。这两个外接RC滤波器的布线一定要多注意,不要弄成弯弯曲曲来回绕的了,不然可能会由于外部噪声过大导致内部锁相环失锁。

  4. 最头疼的就是VDDLDOD(26脚)和VDDLDOA(48脚),这两个脚手册上给出的是连接1.8V电源,对他们的介绍也只是说明了他们分别是模拟和数字的外部供电引脚,在这里插入图片描述
    在这里插入图片描述
    支持1.6V到3.6V的输入并且推荐1.8V,在这里插入图片描述但是我在实际使用的时候,1.8V供电时会产生误码,在以1Hz的频率发送1000次数据包后累计错误达到117次,我也不知道为啥会产生这么高的误码率。直到好死不死有一次我把这两个引脚直接接到3.3V电源以后,我连续发送了一下午一个误码都没有。这个问题我也实在没想明白,所以建议大家自己设计完板子后自己两种供电方式都测试一下,如果1.8V情况下没有我这么高的误码的话还是用1.8V吧,毕竟这样功耗会小不少。

  5. 最后就是选1.8VDC-DC芯片的时候,一定要注意选一个功率稍微高一点的,官方在芯片的直流特性上是这样给出的在这里插入图片描述
    也就是说,它在接收信号的时候,1.8V供电的引脚端电流会飙升到210mA,而发送信号时也有90mA。如果选用功率较低的芯片供电的话是会直接被拖垮的,然后你就会看到0x0F这个寄存器内锁相环失锁的标志位再一次被置一了。。。顺便一提,官方用的1.8VDC-DC芯片是这个:LXDC2HL-18A在这里插入图片描述,我就是用它搞出了解决10%的误码率,各位使用的话自行斟酌吧。。。

PCB示例

我把我自己画的PCB贴出来供大家参考一下。我自己布线的本领也不是很好,所以大佬就可以直接跳过吧,小白的话可以参考一下哦。在这里插入图片描述

资料参考

我把我的资料和官方资料分别打包上传了,官方资料不要积分,大家如果需要的话可以去下载:
UWB基站硬件(我的资料)
DWM1000Solfware(官方资料)

  • 19
    点赞
  • 144
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值