- 在线时间
- 514 小时
- 最后登录
- 2023-12-1
- 注册时间
- 2018-7-17
- 听众数
- 15
- 收听数
- 0
- 能力
- 0 分
- 体力
- 40322 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 12808
- 相册
- 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。
: Q! x) }, c! P9 K" W3 |+ S1.背景及相关技术9 w/ a6 F- \% b
& M/ ^2 S4 A9 Y6 x- m+ |1 }! g6 vUWB(Ultra Wide Band,超宽带)是一种以极低功率在短距离内高速传输数据的无线通信技术,UWB具有抗干扰性能强、传输速率高、带宽极宽、消耗电能小、发送功率小等诸多优势,主要应用于室内通信、家庭网络、位置测定、雷达检测等领域。系统容量大发送功率非常小,其电磁波辐射对人体的影响也会很小,应用面就广。
* Z* U. c: t, e, ^5 l2 G' F# n: J W' V. U
2.芯片选择
l, j2 {6 @0 _2 J7 ~0 }5 c
0 k4 e8 E2 _( o0 K e选择DecaWave公司的DW1000芯片。符合IEEE802.15.4-2011超宽带标准。按照数据手册上应该最小误差在10厘米以内。DW1000的最远传输距离为450米(直视距离,非直视距离为45米)。芯片功耗低,可双向测距和定位,可作为目前室内定位(还有说法是地下定位也可以)技术RFID及WiFi的补充。参数如下:
$ b1 z7 h; G/ M3 X! ^, L. n* ?
. ~) C. h: `& Q- P4 R单电源电压:2.8 V至3.6 V
3 u# [1 z7 G* m2 m5 W. f7 p+ t* ^: f4 F% m% f& U
数据传输速率:110 kbit/s,850 kbit/s和6.8 Mbit/s;
* O. h1 m) }, _+ }/ a' q; ~1 I% \, r3 b6 a, }
6频段:从3.5 GHz至6.5 GHz# y0 o0 i& I9 l/ J+ R' L7 W
: F9 B# B: l+ m* k. g发射功率:-14 dBm/-10 dBm
/ A! K$ d5 w c4 d$ F" F* M, R# o4 ^. a5 b
发射功率密度:<-41.3dBm / MHz
, H! U% {1 }8 @' F5 ^" [6 E4 j/ w" ]' z& \
支持数据包大小:1023字节2 f1 j% t) n& Q8 h# k, f+ }
0 _; v; T4 m: N" u8 `9 }
调制方式:BPM(二相调制)与BPSK(二进制相位调制): T" Z, L) N: K$ d+ k7 m0 ]: W0 K
5 ?- [% h e% Q& E
FDMA:6通道
5 \7 d6 g3 ~' Z% w% H. n; p) s2 w
CDMA:12种不同的信道编码& W( t" h o! n& W% W* P& ^, c) l
" z) V- Q7 s. A- P4 \# A2 r
工业级温度范围:-40°C至+ 85°C
. x" L( |/ P5 u5 ~. ^* W* d
7 S2 Y, h0 `3 A% T' L读数据手册的摘录及心得:; i: \. m" k* A5 Z1 E
- H' o4 _7 f. @8 U- [5 |
DW1000需接外部38.4MHz的晶振,支持SPI通信。
4 a; M) W# O. i7 {6 X4 A8 l V
`1 ]$ h. ], M0 R( H引脚说明:
# }6 B( ?0 d+ U0 n& ^8 J- m9 l& g# h/ h2 G) s' ~6 g7 \, ~
DW1000有8个通道需要配置,最大接收带宽为900MHz,编程会用到。( u( G/ T# w) W7 g6 G+ H" n
- e9 j; C* G% H+ l! q. N" l% s比如:模式1) [) ]% y" ^1 P7 T
% d" P. Z [, T* I# mChannel_Config[8]={
& Z7 s, Y+ h' }0 I
2 ^$ W0 P: d4 F d+ s/*模式1*/9 y4 X0 o {+ W2 e6 a* u' n
. {1 k: J1 ], q3 z6 ?
2, //选择通道
- d- }1 X2 u! m. u) S7 J E E
; n) \* s7 i% }$ V0 M7 O1 U DW1000_PRF_16M, //脉冲频率
5 C6 W1 O- J2 E, c2 w j" T3 g
3 |* I+ }) j0 i" G8 L6 D5 T4 k DW1000_BR_110K, //波特率
7 a; s% u: D' V9 E
( x' \0 Y9 j* u2 V% t 3, //前导码
. _% E- u F, q- t, m- K" ~- ~: _/ W# M/ P/ |$ X9 r
DW1000_PLEN_1024, //前导码数据长度
2 x/ w+ p, V# y9 i
8 E. D9 b( _. R/ M4 } H+ q | DW1000_PAC32, //指定PAC前导长度
2 W0 [ w- Y* e( Q" v
7 l! f% q+ v. v) E 1, //非标SFD
- b0 B3 G2 K( K* n3 i" ] W" L/ B8 k i4 l
(1025 + 64 - 32) //SFD超时2 e8 e& u3 K7 C1 |4 N3 P' N
% D# {* ~ G8 d& e2 j }# a1 f* @ B% f, [
支持的波特率为:8 r+ K0 Y% x( w- X
2 Q" {. z$ N( {4 \ BDW1000有两个频率合成器,本地时钟即外部和系统时钟。带宽设置有两种模式:500MHz和900MHz。由相关寄存器设置特定的带宽模式。带宽设置的增加范围大了,相应功耗也就增加。因此该TX脉冲宽度允许传输的带宽应该合理控制。DW1000寄存器是不可编程的,需要写相关值来控制。
3 O* e( l8 _6 K; U' }
, |1 y/ F( w/ f+ E* m2 b看完数据手册,接下来就好好啃两百多页的英文用户手册,看看SPI读写操作和各个寄存器值的读写操作。大概有四十多个寄存器。DW1000对于寄存器的操作十分严格,尤其是时间同步控制。两种定位方法:到达时间差(TDOA)和双向测距(TOF)定位。时间控制不合适会导致定位误差。
0 G1 Z# p$ x0 p$ p
. ~* [* k. m, h2 J( L3 b" K; [8 {3 X0 z8 D8 \& k' B
" Y9 {6 f- X0 c0 n T% e: q; G5 I% N
湿度大也会衰减发射信号的强度,影响距离,比如阴雨天时,收音机的信号就明显差很多。因为无线电波的传播介质发生了变化,介质的性质(介电常数)发生变化,电磁波波速就会产生变化。' f2 D I5 ~( Y
4 F, p0 N1 X) e# l! |4 P1 P, m. J- [
3.软件流程
4 v1 k& G0 k& u8 J: W( a( Q
3 x6 w. J# e, ?/ S8 x8 t(1)使能DW1000软件操作流程:
$ @; r8 o$ B: F& F7 _) B5 L; `3 ^% E5 I
a.设备初始化(时钟初始化、GPIO初始化、中断优先级配置、串口及SPI初始化等);
$ I+ A6 ^; q# d- c) U' I$ D# E
% U$ s( j# a, i, w5 {b.关中断(若开启了外部中断);. l# {" \9 L9 c: E! {
; j8 @ E/ P" v& @: Y- [
c.复位;
$ }5 w( M0 }" s
* Y7 c# j5 ^5 C- A, e5 p) O8 _d.读取芯片32位ID号(如果读取设备寄存器成功,返回设备号0xDECA0130,说明硬件初始化正常);
9 r0 b* @% B. d# G5 \- @! ]) {2 M! a0 ?0 @4 P
e.指定角色(Tag/Anchor)# h9 ]) W% G+ D7 X4 N, z
; z: J, M( b, C+ L2 m0 _9 `f.配置信道参数(通道数、频率、数据速率、引导码、PAC、SFD等), B; j a1 L" H9 c# w2 f
6 r/ x* p8 v* q' H0 f
g.使能芯片寄存器操作;
; c$ D5 n$ R: y' Y Y
5 M+ y1 @1 F6 S7 X" t- o* k+ F4 lh.使能中断;
4 S K9 r0 h9 {! B$ J* d) @0 U9 b' |9 M
i. Tag/Anchor发送(Poll message)接收(Response message)消息帧,记录时间戳(timestamp)。
" O7 H1 t+ b3 b$ a! e( h7 ~' j0 K3 y7 s4 p; G- D( Z
(2)双向测距TWR流程(如图):6 M$ v) l/ A( A/ U
. K P G+ S7 d# w
! d# W/ w% k. C+ {$ n% }, a! G
/ i: r) s; a. x- ~. _ |
zan
|