1.背景及相关技术
UWB(Ultra Wide Band,超宽带)是一种以极低功率在短距离内高速传输数据的无线通信技术,UWB具有抗干扰性能强、传输速率高、带宽极宽、消耗电能小、发送功率小等诸多优势,主要应用于室内通信、家庭网络、位置测定、雷达检测等领域。系统容量大发送功率非常小,其电磁波辐射对人体的影响也会很小,应用面就广。
2.芯片选择
选择DecaWave公司的DW1000芯片。符合IEEE802.15.4-2011超宽带标准。按照数据手册上应该最小误差在10厘米以内。DW1000的最远传输距离为450米(直视距离,非直视距离为45米)。芯片功耗低,可双向测距和定位,可作为目前室内定位(还有说法是地下定位也可以)技术RFID及WiFi的补充。参数如下:
单电源电压:2.8 V至3.6 V
数据传输速率:110 kbit/s,850 kbit/s和6.8 Mbit/s;
6频段:从3.5 GHz至6.5 GHz
发射功率:-14 dBm/-10 dBm
发射功率密度:<-41.3dBm / MHz
支持数据包大小:1023字节
调制方式:BPM(二相调制)与BPSK(二进制相位调制)
FDMA:6通道
CDMA:12种不同的信道编码
工业级温度范围:-40°C至+ 85°C
读数据手册的摘录及心得:
DW1000需接外部38.4MHz的晶振,支持SPI通信。
引脚说明:
DW1000有8个通道需要配置,最大接收带宽为900MHz,编程会用到。
比如:模式1
Channel_Config[8]={
/*模式1*/
2, //选择通道
DW1000_PRF_16M, //脉冲频率
DW1000_BR_110K, //波特率
3, //前导码
DW1000_PLEN_1024, //前导码数据长度
DW1000_PAC32, //指定PAC前导长度
1, //非标SFD
(1025 + 64 - 32) //SFD超时
}
支持的波特率为:
DW1000有两个频率合成器,本地时钟即外部和系统时钟。带宽设置有两种模式:500MHz和900MHz。由相关寄存器设置特定的带宽模式。带宽设置的增加范围大了,相应功耗也就增加。因此该TX脉冲宽度允许传输的带宽应该合理控制。DW1000寄存器是不可编程的,需要写相关值来控制。
看完数据手册,接下来就好好啃两百多页的英文用户手册,看看SPI读写操作和各个寄存器值的读写操作。大概有四十多个寄存器。DW1000对于寄存器的操作十分严格,尤其是时间同步控制。两种定位方法:到达时间差(TDOA)和双向测距(TOF)定位。时间控制不合适会导致定位误差。
湿度大也会衰减发射信号的强度,影响距离,比如阴雨天时,收音机的信号就明显差很多。因为无线电波的传播介质发生了变化,介质的性质(介电常数)发生变化,电磁波波速就会产生变化。
3.软件流程
(1)使能DW1000软件操作流程:
a.设备初始化(时钟初始化、GPIO初始化、中断优先级配置、串口及SPI初始化等);
b.关中断(若开启了外部中断);
c.复位;
d.读取芯片32位ID号(如果读取设备寄存器成功,返回设备号0xDECA0130,说明硬件初始化正常);
e.指定角色(Tag/Anchor)
f.配置信道参数(通道数、频率、数据速率、引导码、PAC、SFD等)
g.使能芯片寄存器操作;
h.使能中断;
i. Tag/Anchor发送(Poll message)接收(Response message)消息帧,记录时间戳(timestamp)。
(2)双向测距TWR流程(如图):
更多技术文章浏览请关注:
百家号:
https://author.baidu.com/home?context=%7B%22app_id%22%3A%221646108714303504%22%7D&wfr=bjh
头条号:
https://www.toutiao.com/c/user/8115738721/#mid=1646025109246987