DW1000开发笔记(一)DW1000芯片概览

一、DW1000介绍

DW1000(官方网站)是一个完全集成的低功耗射频收发器,遵循IEEE 802.15.4-2011 超宽带标准。它可以被用于双向测距或者TDOA定位系统中,精度为10cm。它使用了从3.5Ghz-6.5Ghz的6个射频频段,支持100kbps、850kbps、6.8Mbps的数据速率,并且可以在多径环境下进行处理,所以可在高反射的环境下应用。

img

DW1000内部最高层次的概览图如下:
img

二、DW1000的引脚和接口

DW1000芯片使用QFN-48封装,引脚图如下:
img
DW1000内部单元与这些引脚之间的关系如图:
img
这些引脚中与外部通信的接口有SPI标准接口等。

1. SPI标准接口

DW1000的通信接口是一个仅作为SPI从机,两种时钟极性(CPOL)和两种时钟相位(CPHA)都支持,数据传输协议支持单个或者多个字节进行读写访问,所有的字节都是从MSB开始传输到LSB结束。一次传输以SPICSn引脚拉低开始、到SPICSn引脚拉高结束。

1.1.1. SPI通信模式

DW1000支持SPI的四种通信模式,可以由GPIO5 和 GPIO6两个引脚硬件配置,一般使用模式0:
img

1.1.2. SPI通信引脚

SPI接口使用的引脚为:

引脚作用
GPIO5配置引脚
GPIO6配置引脚
SPICLKSPI时钟信号
SPI MISOSPI数据输出
SPI MOSISPI数据输入
SPICSnSPI片选信号(低电平有效)

img

1.1.3. SPI通信时序

当芯片内部的CLKPLL锁定后,SPI的时钟速率最大支持20Mhz,否则SPI的时钟速率最大为3Mhz。
在这里插入图片描述

1.1.4. SPI数据交互格式

每次SPI数据交互开始时,都会有1个到3个交互头(transaction header),交互头大小为1个字节、8位,后面跟着可变数目的交互数据,数据的长度没有限制。

交互头中给出了本次交互是读或者写,也给出了具体读/写的地址,如下图,分别是读和写时的交互格式:
img
① 当有一个交互头时,交互头的内容格式如图,最高位表示本次为读或者写、次高位表示有没有子索引,剩余6位为寄存器文件ID:
img
比如读出32位Device ID的交互数据如图:
img
② 当有两个交互头时,交互头内容如图,不同的是,第二个交互头最高位用于表示是否还有扩展地址(子地址范围0到127):
img
比如读取地址为0x00的寄存器的第2个索引:
img
③ 当有三个交互头时,交互头内容如图,其中第二个和第三个交互头合起来表示子地址(子地址范围0 到32767):
img
比如用长索引向TXbuffer中310处写入一个字节:
img

2.中断引脚

DW1000可以配置在一个或多个事件发生时使用它的中断引脚,来通知外部控制器处理发生的事件。

中断引脚的极性可以通过系统控制寄存器(Register file: 0x0D – SystemControl Register)的HIRQ_POL位来设置。上电后默认的极性为高电平,这也是确保DW1000在睡眠和深度睡眠设备状态下的最低功率运行的推荐极性。当DW1000在睡眠或者深度睡眠的时候,中断引脚处于浮空状态,这时除非外部有下拉电阻,否则可能会触发虚假的中断。

一个在系统事件状态寄存器( Register file: 0x0F – System Event Status Register )中的事件发生后是否触发中断,这取决于在系统状态屏蔽寄存器(Register file: 0x0E – System Event Mask Register)中对应位的设置。
img
img

默认情况下,在上电后所有可以产生中断的事件都会被屏蔽,并且中断也处于失能状态。

3. GPIO引脚

DW1000 提供了8个GPIO引脚可以由用户进行独立的配置。任何一个被配置为输入的引脚的电平状态,都可以被读取并上报给控制主机通过SPI接口,当配置为输出时,控制主机也可以通过SPI接口设置其电平。

一些GPIO还有一些复用功能,如下表:

引脚复用功能说明
GPIO0/RXOKLED接收到完整的数据帧时用于点亮一个LED
GPIO1/SFDLED接收器发现SFD时点亮一个LED
GPIO2/RXLED在接收模式时点亮一个LED
GPIO3/TXLED在发送数据时点亮一个LED
GPIO4/EXTPA用于使能外部电源功率放大器
GPIO5/EXTTXE/SPIPOL上电时用于配置SPI工作模式,上电后恢复为默认GPIO引脚
GPIO6/EXTRXE/SPIPHA上电时用于配置SPI工作模式,上电后恢复为默认GPIO引脚
GPIO8/IRQ中断请求输出引脚

GPIO引脚的配置和操作可以通过GPIO控制和状态寄存器( Register file: 0x26 – GPIO control and status)来完成:
img
默认上电之后这些GPIO全部被设置为输入状态。

4. 特殊控制引脚

  • SYNC/GPIO7:SYNC同步引脚时GPIO7,这个引脚被用于外部时钟同步输入引脚;
  • WAKEUP:输入引脚,用于从DW1000睡眠模式或者深度睡眠模式唤醒;
  • EXTON:输出引脚,外部器件使能引脚,在DW1000工作时保持高电平;
  • RSTn:复位引脚,低电平有效;

至此,DW1000概览结束,接下来将使用STM32+HAL库完成驱动移植和测试。

  • 9
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值