在线时间 514 小时 最后登录 2023-12-1 注册时间 2018-7-17 听众数 15 收听数 0 能力 0 分 体力 40255 点 威望 0 点 阅读权限 255 积分 12788 相册 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。3 b5 w$ Y; j4 k0 D
1.背景及相关技术$ k, b. Q' J' g1 V
# }1 b6 F5 K0 _ UWB(Ultra Wide Band,超宽带)是一种以极低功率在短距离内高速传输数据的无线通信技术,UWB具有抗干扰性能强、传输速率高、带宽极宽、消耗电能小、发送功率小等诸多优势,主要应用于室内通信、家庭网络、位置测定、雷达检测等领域。系统容量大发送功率非常小,其电磁波辐射对人体的影响也会很小,应用面就广。
4 }8 s% v9 Q' ]; g. t
; {; T u7 e7 c/ W+ N: m/ J5 e6 P: _ 2.芯片选择' R; J$ O% W4 j
+ M0 t' [& w2 x9 C3 o9 z
选择DecaWave公司的DW1000芯片。符合IEEE802.15.4-2011超宽带标准。按照数据手册上应该最小误差在10厘米以内。DW1000的最远传输距离为450米(直视距离,非直视距离为45米)。芯片功耗低,可双向测距和定位,可作为目前室内定位(还有说法是地下定位也可以)技术RFID及WiFi的补充。参数如下: I+ }# f& Q1 I2 f+ w
( w1 P; ?) b: h& A; ~) m* J 单电源电压:2.8 V至3.6 V ~) w& R. ]3 b9 j; ?3 R
: @' z9 b @% ^, j. v. X! ]
数据传输速率:110 kbit/s,850 kbit/s和6.8 Mbit/s;
' r9 k1 [# ]6 p, R: ~0 J! m $ l3 j' q$ \, o
6频段:从3.5 GHz至6.5 GHz
$ B/ W& r& \; t+ i
; E4 y5 I) A0 T7 e2 B: \8 F! t. s 发射功率:-14 dBm/-10 dBm! o' n: a5 Z$ y6 @- @
, t* ?, g$ y5 o- U4 Y1 D' i g
发射功率密度:<-41.3dBm / MHz
: h! i7 }) q' K1 z) J2 K+ q8 ] ( r w( V$ C6 U$ G+ t) J" K
支持数据包大小:1023字节1 R# Z$ v5 p: D
2 \( l% F4 r+ g6 L5 U* ? 调制方式:BPM(二相调制)与BPSK(二进制相位调制)
2 y- _) v0 e0 h- Q! p
9 G1 X3 B; a0 j9 f& p FDMA:6通道* s: q( a4 D3 ]9 F
3 U# H6 f3 m2 Q$ o; Y* T6 v
CDMA:12种不同的信道编码
" }, v8 K! d" Q& F1 O4 e& o. ^# q$ I 6 D# t+ D' h, b
工业级温度范围:-40°C至+ 85°C
7 l3 J) U: w0 |# t8 n. n2 [6 V. @ ' L, J2 C! M% Y$ I: d
读数据手册的摘录及心得:" S- w* ^) ?; O& {- e+ N5 [
# ^ ]' f9 h2 J; C: S% A: B5 x
DW1000需接外部38.4MHz的晶振,支持SPI通信。; B7 h+ F6 v$ ?
- c T# |- H+ d( @- a
引脚说明:
8 ^0 k, l; e2 n* [
, W2 f& R8 P6 A DW1000有8个通道需要配置,最大接收带宽为900MHz,编程会用到。
/ t* \9 [! h1 ?* C% {, G$ } ) X) G' X8 V8 h7 a5 X9 E* d
比如:模式1
4 b! f6 i/ D. q$ m & U8 R; r$ V+ {2 z# p F
Channel_Config[8]={4 F+ |6 x C/ R X7 [
+ r* Q/ |$ q, B) p! b0 H J
/*模式1*/
& f/ K) X( [! m0 a. ] % y3 a: J" i7 U* W
2, //选择通道5 d9 s* D( f! G" ?4 [; h
( @5 t: q5 p- k9 \ _
DW1000_PRF_16M, //脉冲频率
, A& {: v; A" ~9 D) w 0 j& n! X# z6 N5 Y
DW1000_BR_110K, //波特率3 S3 Q0 x0 u; M( K6 ~+ D
5 ^7 r; s% C3 u+ s! g
3, //前导码9 g" Y$ t, ^4 X+ [
! U6 m# {- z7 L6 z
DW1000_PLEN_1024, //前导码数据长度
& L# R, @0 z7 G1 A- c h: l, X + \( h, F2 b* I" b$ ?2 }
DW1000_PAC32, //指定PAC前导长度
! \3 I4 I! g8 R3 C. E/ @- p
: v4 P! ~! }+ m. q8 e z 1, //非标SFD
: R M! O% a8 B& w/ J4 _
% c% z9 O2 L4 M (1025 + 64 - 32) //SFD超时
3 R* b, m$ Z, R$ U2 b1 Q i , @! u- d, k3 C% y: f7 S
}4 A8 @0 O* X: H7 O/ i
支持的波特率为:
4 f! R3 |% F+ k0 A- Z " r% @9 P' e9 B' B3 u
DW1000有两个频率合成器,本地时钟即外部和系统时钟。带宽设置有两种模式:500MHz和900MHz。由相关寄存器设置特定的带宽模式。带宽设置的增加范围大了,相应功耗也就增加。因此该TX脉冲宽度允许传输的带宽应该合理控制。DW1000寄存器是不可编程的,需要写相关值来控制。& L0 |3 x, V# K6 g' c& d- h
& I: y% u$ v# o, J: |: u
看完数据手册,接下来就好好啃两百多页的英文用户手册,看看SPI读写操作和各个寄存器值的读写操作。大概有四十多个寄存器。DW1000对于寄存器的操作十分严格,尤其是时间同步控制。两种定位方法:到达时间差(TDOA)和双向测距(TOF)定位。时间控制不合适会导致定位误差。0 `) D4 H$ _2 o4 z3 Z
3 U4 S! I) ?3 h' I4 S8 r 2 e, m4 U) H; z! G# \/ i z
; [$ n/ O0 a3 l) j
湿度大也会衰减发射信号的强度,影响距离,比如阴雨天时,收音机的信号就明显差很多。因为无线电波的传播介质发生了变化,介质的性质(介电常数)发生变化,电磁波波速就会产生变化。
6 T5 R) N& e3 c6 e8 ~) H ) L/ `; H" n. e$ }& y+ A2 A3 e
3.软件流程* T. t5 n* H C: k F+ B' }
% X E1 S/ [& f+ [0 z H& _/ z
(1)使能DW1000软件操作流程:
6 f# O0 q [: Y, T# `! ^" B5 u9 h
0 S6 T. i% g. M$ w. A6 s7 k a.设备初始化(时钟初始化、GPIO初始化、中断优先级配置、串口及SPI初始化等);7 l, Z: U" ~* g4 Y- y4 l
( D* r( e. m" L% U# N
b.关中断(若开启了外部中断); i8 a5 R6 w1 H" ]1 i1 T3 v9 |- p
P0 u) L" B/ g" N9 i c.复位;! r4 J" e% t$ \' r" I. E0 E
- [6 F; L2 R1 j) s+ h4 \3 U d.读取芯片32位ID号(如果读取设备寄存器成功,返回设备号0xDECA0130,说明硬件初始化正常);7 `8 E! m; g/ i+ Y' G% i x1 B. [
2 _2 E! h& j" u0 b( C& t" q e.指定角色(Tag/Anchor)- X+ C! d/ w6 Z
/ W8 j0 g' O' B) c0 ^' w5 L f.配置信道参数(通道数、频率、数据速率、引导码、PAC、SFD等)7 o- M& k% N- n! G5 H0 f+ G" C0 M
! K% B K0 E% }; W- S g.使能芯片寄存器操作;
3 i* n- ?4 x8 x
; Z5 e/ ]; S3 t h.使能中断;
. x' R6 j; B3 r7 N # |: i7 x3 G8 ~4 N
i. Tag/Anchor发送(Poll message)接收(Response message)消息帧,记录时间戳(timestamp)。
( m8 T/ Q. j% e. ^" T: c
8 }& [9 F0 U& J# b" | (2)双向测距TWR流程(如图):
& G4 M8 w- b( U9 y2 X5 A( } 6 ]; ]7 H$ J( M/ ?& I
' @, R& l8 P$ K' j; C% K$ [
9 J7 R- x t( e$ ~; [
zan