DW1000开发笔记(一)DW1000芯片概览
发布日期:2021-07-01 02:35:22 浏览次数:2 分类:技术文章

本文共 2219 字,大约阅读时间需要 7 分钟。

一、DW1000介绍

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

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

二、DW1000的引脚和接口

DW1000芯片使用QFN-48封装,引脚图如下:

DW1000内部单元与这些引脚之间的关系如图:
这些引脚中与外部通信的接口有SPI标准接口等。

1. SPI标准接口

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

1.1.1. SPI通信模式

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

1.1.2. SPI通信引脚

SPI接口使用的引脚为:

引脚 作用
GPIO5 配置引脚
GPIO6 配置引脚
SPICLK SPI时钟信号
SPI MISO SPI数据输出
SPI MOSI SPI数据输入
SPICSn SPI片选信号(低电平有效)

1.1.3. SPI通信时序

当芯片内部的CLKPLL锁定后,SPI的时钟速率最大支持20Mhz,否则SPI的时钟速率最大为3Mhz。

在这里插入图片描述

1.1.4. SPI数据交互格式

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

交互头中给出了本次交互是读或者写,也给出了具体读/写的地址,如下图,分别是读和写时的交互格式:

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

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)中对应位的设置。

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

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)来完成:

默认上电之后这些GPIO全部被设置为输入状态。

4. 特殊控制引脚

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

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

转载地址:https://mculover666.blog.csdn.net/article/details/114918360 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:DW1000开发笔记(三)基于STM32 HAL库裸机工程移植DW1000官方驱动
下一篇:DW1000开发笔记(二)使用STM32硬件SPI+STM32cubeMX+HAL库测试DW1000通信

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年05月04日 16时19分40秒