- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40222 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12778
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1419
- 主题
- 1178
- 精华
- 0
- 分享
- 0
- 好友
- 15
TA的每日心情 | 开心 2023-7-31 10:17 |
|---|
签到天数: 198 天 [LV.7]常住居民III
- 自我介绍
- 数学中国浅夏
 |
初次接触超宽带(UWB)无线通信技术,先了解和认识一下。准备做机器人室内定位,没拿到模块之前,先啃英文数据手册,好像还没有中文版本的,做个笔记。定位考虑过ZigBee和BLE,最后还是选择了UWB技术,抗干扰性能更强,定位精度高(±10cm),低成本、低功耗,数据传输速度快,UWB能在10米左右的范围内实现数百Mbit/s至数Gbit/s的数据传输速率,可达到6.8Mb/s。
4 l2 I+ t) g% U, x; W& J: e1.背景及相关技术
- z. D- J I4 X* I) f: @/ K
1 s. n5 J" K% k. Q& AUWB(Ultra Wide Band,超宽带)是一种以极低功率在短距离内高速传输数据的无线通信技术,UWB具有抗干扰性能强、传输速率高、带宽极宽、消耗电能小、发送功率小等诸多优势,主要应用于室内通信、家庭网络、位置测定、雷达检测等领域。系统容量大发送功率非常小,其电磁波辐射对人体的影响也会很小,应用面就广。# c$ @5 R& @* ~3 v# e0 N
' T; _* ]0 d4 t5 |8 D2 u
2.芯片选择
$ b) }5 Y, ]! P5 s) P+ r$ H' s5 R/ \, W; C9 H, B" `
选择DecaWave公司的DW1000芯片。符合IEEE802.15.4-2011超宽带标准。按照数据手册上应该最小误差在10厘米以内。DW1000的最远传输距离为450米(直视距离,非直视距离为45米)。芯片功耗低,可双向测距和定位,可作为目前室内定位(还有说法是地下定位也可以)技术RFID及WiFi的补充。参数如下:
7 }9 D6 f8 t$ p) s- n, m# Y- B- m7 P; `2 n( e$ `4 b
单电源电压:2.8 V至3.6 V* v) v1 T2 D+ A1 l
j' Z) \5 V7 e O; b0 @9 I
数据传输速率:110 kbit/s,850 kbit/s和6.8 Mbit/s;
: M L' g4 t! W3 q- G$ g6 l# [/ \) M& _1 Z, i6 ?
6频段:从3.5 GHz至6.5 GHz
* V, \; w& w7 q2 ^2 l- m: n/ g. v- `/ } R0 v
发射功率:-14 dBm/-10 dBm
( M2 G+ m* b6 c7 b I
$ Z4 x+ F$ J4 B5 D; o发射功率密度:<-41.3dBm / MHz
/ h! k. m2 L& V1 ^9 \/ l5 D3 s' u5 c9 F8 L! k* M1 \
支持数据包大小:1023字节' d L( _1 B1 L* Z- H
7 q& v+ ?1 w. ] o/ A3 h) o调制方式:BPM(二相调制)与BPSK(二进制相位调制)+ A8 j, o& D/ q
5 Y2 n9 H! c+ E1 p& ~FDMA:6通道- v3 P, z3 k j/ l8 O6 n% F/ r+ p
/ m, G; V8 r sCDMA:12种不同的信道编码5 f% t2 v! e: O( U$ z$ Y2 y
- Y* F$ Y0 o# D" J/ I. K7 O工业级温度范围:-40°C至+ 85°C9 v2 h2 S; p5 h, a: o. `! G
) t3 H0 S1 c: Q9 @. z/ M
读数据手册的摘录及心得:3 V# i/ [% R2 k* I2 g
1 d v* b5 Y' ~; H+ [* h7 y
DW1000需接外部38.4MHz的晶振,支持SPI通信。; Q* w# t6 ~, C' E a: Y+ p
3 y4 r; p) N- [' N
引脚说明:
4 u5 \% C8 i2 f7 a3 E1 b J7 m4 _3 ]& i9 A
DW1000有8个通道需要配置,最大接收带宽为900MHz,编程会用到。
. O* q3 _/ T) C5 R3 r9 o" t7 X. \, ~! _- ^8 k3 Z
比如:模式1! L2 c6 f. y F, e' Z6 P7 A r
0 p6 k1 ?! ]+ |$ h0 zChannel_Config[8]={% n( ^9 u/ G# {, O
! f( E) E: C+ p% b; A
/*模式1*/
0 M s9 F; t8 g7 b; `
; J. z$ J; w: d& `4 n) y' c* R 2, //选择通道% ?6 X! L" T) o6 ~/ `
8 @* c. e3 q* A2 T9 O
DW1000_PRF_16M, //脉冲频率
' I0 p! O: N' ^( D
; Y' d6 l& q% e" X! j& r DW1000_BR_110K, //波特率
" b+ | N" \/ ^ W3 e7 C. _- v# a* G: z" n, o
3, //前导码- Q! O2 Z3 ^# J. W* i
% r+ A9 e! D* n9 i9 _$ M DW1000_PLEN_1024, //前导码数据长度
0 j5 N) j& }5 I& r- v! O& t/ y! n2 I6 N0 p% y
DW1000_PAC32, //指定PAC前导长度* X# `7 C' M" d6 I V
9 _; Z/ z! X+ Y
1, //非标SFD
( K# X+ Z$ V# Q& A) F3 Y) ?
7 z% ^0 s7 _% O+ M. p (1025 + 64 - 32) //SFD超时
3 L2 W/ L9 B+ z2 F* Y4 ?: p' M4 v2 |' `$ i" U7 C) [1 h$ B' F
}
0 ^$ w) x( c! Z" f9 i _& p' A7 B$ l支持的波特率为:' m: R) h" J' x+ ?2 Z
6 M- r! }& p# @/ Y! O# PDW1000有两个频率合成器,本地时钟即外部和系统时钟。带宽设置有两种模式:500MHz和900MHz。由相关寄存器设置特定的带宽模式。带宽设置的增加范围大了,相应功耗也就增加。因此该TX脉冲宽度允许传输的带宽应该合理控制。DW1000寄存器是不可编程的,需要写相关值来控制。1 C( R- Q" W) |( b. h1 T
' J9 o6 n; N( r' K( B看完数据手册,接下来就好好啃两百多页的英文用户手册,看看SPI读写操作和各个寄存器值的读写操作。大概有四十多个寄存器。DW1000对于寄存器的操作十分严格,尤其是时间同步控制。两种定位方法:到达时间差(TDOA)和双向测距(TOF)定位。时间控制不合适会导致定位误差。7 B! W3 F1 W5 W( i6 ^
7 x4 z5 ^+ Z( D- J9 R/ d5 Q- U( F! b2 {
6 J) K2 b' A1 x z: ^4 `" j/ { 湿度大也会衰减发射信号的强度,影响距离,比如阴雨天时,收音机的信号就明显差很多。因为无线电波的传播介质发生了变化,介质的性质(介电常数)发生变化,电磁波波速就会产生变化。$ s$ d* [. H; d2 {# a
/ r- S; E( r2 N) T; R( t/ }, @) u
3.软件流程
% k3 i" B7 E3 T3 R3 Q/ ^
: {; S$ ]9 s9 r" i* N9 D& O(1)使能DW1000软件操作流程:; `, G& T% k" P0 a% A' E, z
' M! {8 l& { J3 r; U2 N5 w, Wa.设备初始化(时钟初始化、GPIO初始化、中断优先级配置、串口及SPI初始化等);
6 t; L0 T7 h/ ^1 ^# t e7 t
, d- Z/ T# B/ G' W8 {0 F/ l! rb.关中断(若开启了外部中断);
6 u' R$ e1 Z) a2 Q: U' c
# T2 `1 E% U* M% z. K: z9 C4 vc.复位;: I! R% G' i8 s; j- h. B
/ @9 j% Q& a8 u. P% \
d.读取芯片32位ID号(如果读取设备寄存器成功,返回设备号0xDECA0130,说明硬件初始化正常);
; y, m" z1 [& h! o: ?1 o" q; I+ m" [1 ^! P4 R u3 S5 }
e.指定角色(Tag/Anchor)
- z1 ~ {- V4 } t( J% L' d1 P) C" i( h/ b
f.配置信道参数(通道数、频率、数据速率、引导码、PAC、SFD等) [& C" V. K4 K: M+ p; v
5 E3 }2 w0 n( g' s1 Sg.使能芯片寄存器操作;
( m( n. R- Z# T( b9 I. _) ]
, Y% D" ^1 B5 \1 d- T7 P0 ih.使能中断;
! y, m* I! o) D+ Y2 R6 M T- [* t+ r& f& p+ y" w# F3 \
i. Tag/Anchor发送(Poll message)接收(Response message)消息帧,记录时间戳(timestamp)。; r8 a( [* k1 v8 p) `' Y6 t
/ E9 N' j2 j6 `* [% G9 L5 A0 x(2)双向测距TWR流程(如图):
8 t, I8 s( {5 m: M4 L. ~: n" `4 C+ I, f
. C: t/ m, Y/ x' A& `5 _8 p
7 ]7 |) p% X Q |
zan
|