dw3000芯片spi通信接口介绍-爱代码爱编程
SPI功能描述
DW3000的主机接口是一个4线spi兼容的外围设备。SPI控制器(主机)断言SPICSn低表示事务的开始。
SPI接口用于读写DW3000设备的寄存器。SPI上的所有数据和地址传输都是最重要的位。所有地址字节首先用MSB传输,所有数据从最低的寻址字节开始传输。
SPICSn的断言low初始化事务。
SPICSn的去断言高结束SPI事务。
设备支持对全寄存器空间的直接和每字节子寻址访问。
允许高效的块数据读写。当寻址位置在DW3000端自动递增时,可以执行连续的长事务。
当SPICSn被撤销时,DW3000的SPICDO(例如SPIMISO) I/O将变成开放引流,以允许与SPI总线上的其他外围设备进行互操作。
不支持SPI菊花链接。这种模式下,CDO(如spiimiso)、CDI(如SPIMOSI)线路在器件未被芯片选中时通过。
SPI时序参数介绍
SPI工作模式
SPI接口支持时钟极性(SPIPOL=0/1)和相位(SPIPHA=0/1),就像摩托罗拉SPI协议中定义的那样。图14和图15给出了每个SPIPOL和SPIPHA设置的DW3000传输协议。使用GPIO 5和6选择这些模式,如下所示:
GPIO 5和6引脚采样如下图所示,以确定SPI模式。它们在内部被拉低以配置默认的SPI模式0。如果需要非0模式,则应该使用不大于10 kΩ的外部电阻器将它们拉起到VIO_D电源。
SPI传输格式
SPI命令结构允许4种不同类型的SPI命令:
1. 快速的单字节命令。多达32个独特的命令,如“TX立即”,“TX/RX关闭”。
2. 快速寻址模式。允许对32个地址进行读写寻址。该命令结构由一个尾随位填充,以允许SPI地址解码器有时间获取任何读取数据。读取的长度由SPI事务的长度决定。
3.全寻址模式。允许读写寻址到32个地址和128字节偏移寻址。该命令结构由一个尾随位填充,以允许SPI地址解码器有时间获取任何读取数据。读或写的长度由SPI事务的长度决定。
4. 屏蔽写事务。它们旨在简化读-修改-写操作,允许主机写入一个地址,并将set、clear或toggle掩码应用到1、2或4个字节。SPI命令解码器然后在内部执行所需的读-修改-写指令。